ipilcher / n5550

Thecus N5550 hardware support
GNU General Public License v2.0
8 stars 8 forks source link

Latest Centos 7 - leds-gpio fails #9

Closed dang472 closed 7 years ago

dang472 commented 7 years ago

FYI. Latest CentOS 7 causes the leds-gpio to fail.

[ 2.369189] leds-gpio leds-gpio: pins are not configured from the driver [ 2.369201] ------------[ cut here ]------------ [ 2.369216] WARNING: at drivers/gpio/gpiolib.c:176 gpio_to_desc+0x94/0xd0() [ 2.369220] invalid GPIO 195 [ 2.369224] Modules linked in: leds_gpio(+) dm_mirror dm_region_hash dm_log dm_mod it87 hwmon_vid n5550_board(OE) i2c_i801 i2c_core [ 2.369253] CPU: 3 PID: 276 Comm: systemd-udevd Tainted: G OE ------------ 3.10.0-514.2.2.el7.centos.plus.x86_64 #1 [ 2.369259] Hardware name: Intel Corporation Milstead Platform/Granite Well, BIOS CDV_T30 X64 09/17/2012 [ 2.369264] ffff8800ba12fb18 00000000197f2f05 ffff8800ba12fad0 ffffffff816953ec [ 2.369273] ffff8800ba12fb08 ffffffff81085940 ffffffff81a835b0 00000000000000c3 [ 2.369282] ffffffffa001f143 ffffffffa0022dd0 ffff8800ba0bd020 ffff8800ba12fb70 [ 2.369291] Call Trace: [ 2.369307] [] dump_stack+0x19/0x1b [ 2.369317] [] warn_slowpath_common+0x70/0xb0 [ 2.369329] [] warn_slowpath_fmt+0x5c/0x80 [ 2.369339] [] ? kmalloc_node_track_caller+0x1b9/0x290 [ 2.369348] [] gpio_to_desc+0x94/0xd0 [ 2.369357] [] gpio_request+0x12/0x20 [ 2.369365] [] devm_gpio_request+0x47/0x90 [ 2.369376] [] gpio_led_probe+0x119/0x350 [leds_gpio] [ 2.369388] [] platform_drv_probe+0x42/0x110 [ 2.369397] [] driver_probe_device+0x145/0x3c0 [ 2.369406] [] __driver_attach+0x93/0xa0 [ 2.369414] [] ? device_attach+0x40/0x40 [ 2.369424] [] bus_for_each_dev+0x73/0xc0 [ 2.369434] [] driver_attach+0x1e/0x20 [ 2.369443] [] bus_add_driver+0x200/0x2d0 [ 2.369453] [] ? 0xffffffffa0019fff [ 2.369501] [] driver_register+0x64/0xf0 [ 2.369509] [] platform_driver_register+0x46/0x50 [ 2.369524] [] gpio_led_driver_init+0x10/0x1000 [leds_gpio] [ 2.369540] [] do_one_initcall+0xb8/0x230 [ 2.369554] [] load_module+0x22c8/0x2930 [ 2.369567] [] ? ddebug_proc_write+0xf0/0xf0 [ 2.369585] [] ? copy_module_from_fd.isra.42+0x53/0x150 [ 2.369596] [] SyS_finit_module+0xa6/0xd0 [ 2.369607] [] system_call_fastpath+0x16/0x1b [ 2.369614] ---[ end trace 94bebcca7653f4a9 ]--- [ 2.369619] gpiod_request: invalid GPIO [ 2.369639] leds-gpio: probe of leds-gpio failed with error -22

ipilcher commented 7 years ago

Yup. What seems to be happening is that the gpio_ich isn't getting loaded and/or initialized, before the board module.

As a workaround, you can edit /usr/lib/modprobe.d/n5550.conf and make it look like this:

install n5550_board     /sbin/modprobe gpio_ich; /bin/sleep 1; /sbin/modprobe i2c_i801; /sbin/modprobe --ignore-install n5550_board
install libahci         /sbin/modprobe --ignore-install libahci; /sbin/modprobe n5550_ahci_leds                             
install it87            /sbin/modprobe --ignore-install it87 fix_pwm_polarity=1; echo 1 > /sys/devices/platform/it87.656/pwm3_enable; echo 255 > /sys/devices/platform/it87.656/pwm3                                                                                                          
remove  it87            echo 0 > /sys/devices/platform/it87.656/pwm3_enable; /sbin/modprobe -r --ignore-remove it87

Then run dracut -f to rebuild the initramfs and reboot. (If necessary, increase the sleep time.)

You'll also need the latest version of the monitoring daemon, because the sysfs entries from which it reads the CPU temperatures have moved.

dang472 commented 7 years ago

"You'll also need the latest version of the monitoring daemon"

What do you mean by this? The monitoring daemon is freecusd right? WHich I use from you github.

dang472 commented 7 years ago

Never mind. Just saw you updated 2 days ago

ipilcher commented 7 years ago

FYI, I've pushed changes to the way that the n5550_board module gets loaded. It's now triggered by udev when the gpio_ich module/driver has finished initializing. This should be more robust than simply sleeping for an arbitrary length of time.

I've also tagged a new version, so it should be simple to build an updated RPM with the changes. Please test and let me know how it works.

dang472 commented 7 years ago

Thanks. The update seems to work.