unrud / init-headphone Goto Github PK
View Code? Open in Web Editor NEWManage the headphone amplifier found in some Clevo laptops
License: GNU General Public License v3.0
Manage the headphone amplifier found in some Clevo laptops
License: GNU General Public License v3.0
Hello,
I have a XMG P305 this is a German rebrand form the w230sd and i have the same issue with my Audioport. Can you add this Notebook to the Script?
dmidecode -s baseboard-product-name output:
# SMBIOS implementations newer than version 2.7 are not
# fully supported by this version of dmidecode.
XMG P305
Thanks THS
got error message :
ERROR:Can't transfer data on I2C bus
ERROR:Operation failed
I have this notebook which uses the Clevo W230SS barebone.
The script returns "Unsupported system ()". dmidecode -s system-product-name
returns an empty string.
When adding ""
to SUPPORTED_SYSTEM_PRODUCT_NAMES
, it correctly reenables the headphone jack.
Any other ways to identify the system without dmidecode?
When I first find this package, I am confused by the "supported models" because it doesn't contain the model of my laptop p150sm-a. I guess this probably works on all the clevo laptops (if that laptop needs to reinit its heaadphone) so maybe the supported models can be removed. (I have already seen that model check has been removed from the source code)
I suggest to add at least to the README instructions to schedule automatic headphones reinitialization after resuming from suspension state. I can provide the README and the trivial configuration file needed to automatically execute init-headphone on resume. Just tell me if it would be helpful and I'll contribute with a PR. From a packaging perspective, a new file has to be deployed, and I'm actually found only on Ubuntu, but basically systemd-supend uses one of two possible paths so it wouldn't be too difficult to address all distros in principle.
PS: my machine is a Clevo W230SD.
Just wanted to say thanks for fixing this
INFO:root:Version: 0.11
WARNING:root:Kernel parameter is missing: acpi_enforce_resources=lax
INFO:root:Trying to add module to the kernel: i2c_dev
INFO:root:Trying to add module to the kernel: i2c_i801
DEBUG:root:Available i2c busses: ['i915 gmbus ssc', 'i915 gmbus vga', 'i915 gmbus panel', 'i915 gmbus dpc', 'i915 gmbus dpb', 'i915 gmbus dpd', 'DPDDC-A', 'DPDDC-B']
DEBUG:root:Supported i2c bus names: ['SMBus I801 adapter']
ERROR:root:Can't find i2c bus
ERROR:root:Operation failed
DEBUG:root:Exception occurred:
Traceback (most recent call last):
File "src/init-headphone", line 322, in
main()
File "src/init-headphone", line 308, in main
init()
File "src/init-headphone", line 240, in init
set_effect(DEFAULT_EFFECT)
File "src/init-headphone", line 256, in set_effect
DATA_ENABLE_OUTPUT)
File "src/init-headphone", line 232, in write_data_to_device
with do_checks_and_get_i2c_bus() as i2c_bus:
File "src/init-headphone", line 219, in do_checks_and_get_i2c_bus
raise RuntimeError("Can't find i2c bus")
RuntimeError: Can't find i2c bus
Any suggestions?
Hi,
not an issue, but maybe its possible to get another supported notebook.
I´ve a brand new P650RS with Debian 8 (Stretch). Do you think its possible to get support of it?
It would be really great if it is.
I´ll help where i can
Greets
is this intended behavior or a bug?
Hello there,
I tried this package on the aforementioned system in an attempt to get the 3.5mm amplified audio jack to work but to no avail.
The information on attempting to get this setup to work with the ALSA stack can be found here: https://gist.github.com/Brainiarc7/e21f25333ad0704d729337a44ec60e4b
Is it possible to add support for the Realtek ALC898, as found on current generation Clevo systems?
Let me know if you need any further debugging information that may aid in such an effort.
Warm regards,
Brainiarc7.
I have tried init-headphone on my p775dm3 with unsuccessful attempt.
Audio Codec: ALC898
The information given in the console is listed below:
INFO:Version: 0.12
INFO:Trying to add module to the kernel: i2c_dev
INFO:Trying to add module to the kernel: i2c_i801
DEBUG:Available i2c busses: ['0000:01:00.0', 'nvkm-0000:01:00.0-aux-0004', 'nvkm-0000:01:00.0-aux-0009', 'nvkm-0000:01:00.0-bus-0002', 'nvkm-0000:01:00.0-aux-0008', 'nvkm-0000:01:00.0-bus-0007', 'nvkm-0000:01:00.0-bus-0006', '0000:01:00.0', 'nvkm-0000:01:00.0-bus-0005', '0000:01:00.0', 'nvkm-0000:01:00.0-bus-0004', 'nvkm-0000:01:00.0-bus-0009', 'nvkm-0000:01:00.0-bus-0001', 'nvkm-0000:01:00.0-aux-0007', 'nvkm-0000:01:00.0-bus-0008', 'nvkm-0000:01:00.0-aux-0006', 'SMBus I801 adapter at f000', 'nvkm-0000:01:00.0-aux-0005']
DEBUG:Supported i2c bus names: ['SMBus I801 adapter']
DEBUG:Selected i2c bus: SMBus I801 adapter at f000
INFO:Opening I2C bus: /dev/i2c-17
INFO:Setting I2C slave address: 115
INFO:Writing byte data on I2C bus: (device_cmd: 0xa, value: 0x41)
ERROR:Can't transfer data on I2C bus
INFO:Closing I2C bus
ERROR:Operation failed
DEBUG:Exception occurred:
Traceback (most recent call last):
File "/usr/local/sbin/init-headphone", line 351, in
main()
File "/usr/local/sbin/init-headphone", line 309, in main
init()
File "/usr/local/sbin/init-headphone", line 241, in init
set_effect(DEFAULT_EFFECT)
File "/usr/local/sbin/init-headphone", line 257, in set_effect
DATA_ENABLE_OUTPUT)
File "/usr/local/sbin/init-headphone", line 235, in write_data_to_device
write_prolog(i2c_bus)
File "/usr/local/sbin/init-headphone", line 226, in write_prolog
i2c_bus.write_byte_data(0x0a, 0x41)
File "/usr/local/sbin/init-headphone", line 143, in write_byte_data
self.__access(I2C_SMBUS_WRITE, device_cmd, I2C_SMBUS_BYTE_DATA, data)
File "/usr/local/sbin/init-headphone", line 135, in __access
raise OSError(err, os.strerror(err))
OSError: [Errno -1] Unknown error -1
Hello,
Thanks for replying in https://bugzilla.kernel.org/show_bug.cgi?id=75151
Already utilized your fresh script for my system and it works perfectly!
Wanted to propose to make a gentoo repo for this.
Its pretty easy to make, simplest example you can find here: https://github.com/gentoo-mirror/yoreek
After that on my gentoo system I just add:
% cat /etc/portage/repos.conf/yoreek.conf
[yoreek]
location = /usr/local/portage/yoreek
sync-type = git
sync-uri = https://github.com/gentoo-mirror/yoreek.git
auto-sync = true
More complex example: https://github.com/nE0sIghT/vortex-overlay
Really complex but full example: https://github.com/dantrell/gentoo-overlay-dantrell-gnome
Let me know your thoughts.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.