Summary: | UDEV ver. 096 (096-r1) is trying to load SpeedTouch USB modem firmware before root was mounted -> don't load | ||
---|---|---|---|
Product: | Gentoo Linux | Reporter: | Mr.Mad <mr.mad.pl> |
Component: | [OLD] Core system | Assignee: | Greg Kroah-Hartman (RETIRED) <gregkh> |
Status: | RESOLVED INVALID | ||
Severity: | major | CC: | base-system, boni, brebs, bubel.t, Heinrich.Nirschl, julien.enche, rafalbilski |
Priority: | High | ||
Version: | 2005.1 | ||
Hardware: | x86 | ||
OS: | Linux | ||
Whiteboard: | |||
Package list: | Runtime testing required: | --- | |
Bug Depends on: | |||
Bug Blocks: | 126089 |
Description
Mr.Mad
2006-07-18 15:23:15 UTC
After reconnecting modem: Jul 17 17:30:19 noteb speedtch 2-2:1.0: found stage 1 firmware speedtch-1.bin Jul 17 17:30:19 noteb speedtch 2-2:1.0: speedtch_find_firmware: no stage 2 firmware found! In udev-094 everything works. Same thing here, after replugging the Speedtouch USB Modem, udev-096-r1 fails to load the firmware. The following lines can be found in dmesg: usb 1-2: new full speed USB device using uhci_hcd and address 4 usb 1-2: configuration #1 chosen from 1 choice usb 1-2: reset full speed USB device using uhci_hcd and address 4 speedtch 1-2:1.0: speedtch_find_firmware: no stage 1 firmware found! Yet, with version 096, everything seems to work fine; usb 1-2: new full speed USB device using uhci_hcd and address 7 usb 1-2: configuration #1 chosen from 1 choice usb 1-2: reset full speed USB device using uhci_hcd and address 7 speedtch 1-2:1.0: found stage 1 firmware speedtch-1.bin speedtch 1-2:1.0: found stage 2 firmware speedtch-2.bin As well all as things worked quite well with all recent versions. This is really annoying, as if you don't keep the sources you're in quite big doo-doo after rebooting. Same problem here. When downgrading the udev rules are changed like this: -# Load firmware -SUBSYSTEM=="firmware", ACTION=="add", RUN+="firmware.sh" +# Load firmware (not quite yet...) +# SUBSYSTEM=="firmware", ACTION=="add", RUN+="/lib/udev/firmware_helper" So I guess this is a problem with the new firmware.sh script Cheers I had same problem after upgrade from 094 to 096(-r1). I have created symlinks: speedtch-x.bin.4.00 -> /lib/firmware/speedtch-x.bin speedtch-x.bin.4 -> /lib/firmware/speedtch-x.bin and firmware is found now. But in 75% of cases it is stuck on stage 2 loading. After unplugging modem: speedtch 2-1:1.0: speedtch_upload_firmware: read BLOCK4 from modem failed (-84)! speedtch 2-1:1.0: speedtch_heavy_init: firmware upload failed (-84)! > Comment #3 From Alexander Wigen 2006-07-21 21:14 PST
> When downgrading the udev rules are changed like this:
> -# Load firmware
> -SUBSYSTEM=="firmware", ACTION=="add", RUN+="firmware.sh"
> +# Load firmware (not quite yet...)
> +# SUBSYSTEM=="firmware", ACTION=="add", RUN+="/lib/udev/firmware_helper"
This is a problem. Speedtouch driver seems to load firmware by itself. Firmware.sh is interfering in this process.
This is should solve problem:
SUBSYSTEM=="firmware", ENV{PHYSDEVDRIVER}!="speedtch", ACTION=="add", RUN+="firmware.sh"
No, have the speedtouch package either add a rule earlier to the udev rules.d directory, or fix the speedtouch firmware loading problem. Either way, it's not a udev issue, sorry. (In reply to comment #6) > either add a rule earlier Does anyone have a rules file to do that? (In reply to comment #5) > SUBSYSTEM=="firmware", ENV{PHYSDEVDRIVER}!="speedtch", ACTION=="add", > RUN+="firmware.sh" That works, thanks. I've posted a corresponding patch to the udev *ebuild* at: http://forums.gentoo.org/viewtopic.php?p=3578643#3578643 udev-103 happily fixes the SpeedTouch firmware loading bug that was in udev-100 :) (In reply to comment #9) > udev-103 happily fixes I was wrong - what *is* the solution to this race condition? It would be nice if the speedtouch modem could actually read the firmware files that it requires. Reliably. |