Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 140974 - UDEV ver. 096 (096-r1) is trying to load SpeedTouch USB modem firmware before root was mounted -> don't load
Summary: UDEV ver. 096 (096-r1) is trying to load SpeedTouch USB modem firmware befor...
Status: RESOLVED INVALID
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: [OLD] Core system (show other bugs)
Hardware: x86 Linux
: High major (vote)
Assignee: Greg Kroah-Hartman (RETIRED)
URL:
Whiteboard:
Keywords:
Depends on:
Blocks: udev-meta
  Show dependency tree
 
Reported: 2006-07-18 15:23 UTC by Mr.Mad
Modified: 2006-12-01 13:59 UTC (History)
7 users (show)

See Also:
Package list:
Runtime testing required: ---


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Mr.Mad 2006-07-18 15:23:15 UTC
After upgrade to UDEV-096 the USB modem Alcatel Speedtouch dosen't
work anymore. It looks like the UDEV starts very early and tring to load
the firmware loacted in /ulib/firmware while it's not present yet.
All this is before root is mounted by rc scripts.
Previous versions of UDEV behave correctly.

from LOG:
"Jul 18 02:27:28 Zion speedtch 2-2:1.0: speedtch_find_firmware: no stage 1 firmware found!"

This require a fix - otherwise the users with this modem after update
will not see net anymore ... downgrade is necessary (ex. to version 094)
Comment 1 Dariusz Ba,czkowski 2006-07-20 12:59:16 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.
Comment 2 Sascha Biberhofer 2006-07-21 14:01:34 UTC
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. 
Comment 3 Alexander Wigen 2006-07-21 21:14:47 UTC
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
Comment 4 Rafał Bilski 2006-08-10 12:06:40 UTC
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 5 Rafał Bilski 2006-08-13 02:40:54 UTC
> 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"
Comment 6 Greg Kroah-Hartman (RETIRED) gentoo-dev 2006-08-30 21:19:07 UTC
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.
Comment 7 Paul Bredbury 2006-08-31 05:59:20 UTC
(In reply to comment #6)
> either add a rule earlier

Does anyone have a rules file to do that?
Comment 8 Paul Bredbury 2006-09-14 19:16:43 UTC
(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
Comment 9 Paul Bredbury 2006-10-24 13:41:31 UTC
udev-103 happily fixes the SpeedTouch firmware loading bug that was in udev-100 :)
Comment 10 Paul Bredbury 2006-11-26 01:19:41 UTC
(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.