Strange problem at bootup on Ubuntu Gutsy

Live forum: http://rt2x00.serialmonkey.com/viewtopic.php?t=4608

lafti

08-02-2008 20:27:57

Hi there!

First of all, thank you for this great driver! It made my life much easier since the Ubuntu distro still ships a somewhat buggy driver.
I followed the instructions and the stick (DWL-G122 rev C1) always worked like charm until yesterday.
The driver won't load the correct firmware on boot and instead the whole system goes whacky. The following lines in syslog seem relevant to that problem

[code1coyfnlf]Feb 7 21:09:38 desktop kernel: [ 34.601509] rtusb init ====>
Feb 7 21:09:38 desktop kernel: [ 34.601541] idVendor = 0x7d1, idProduct = 0x3c03
Feb 7 21:09:38 desktop kernel: [ 94.545504] rt73: Failed to request_firmware. Check your firmware file location
Feb 7 21:09:38 desktop kernel: [ 94.545562] rt73: probe of 3-3:1.0 failed with error -2
Feb 7 21:09:38 desktop kernel: [ 94.545584] usbcore: registered new interface driver rt73
[/code1coyfnlf]

So far so good, these messages suggest that there is something wrong with the firmware. The point is that I do have everything in place for sure. When I detach the stick on bootup and reattach it when I get a desktop then miraculously everything works fine, as the following syslog entry proves

[code1coyfnlf]Feb 8 01:03:56 desktop kernel: [ 138.443392] usb 3-3: new high speed USB device using ehci_hcd and address 6
Feb 8 01:03:56 desktop kernel: [ 138.714430] usb 3-3: configuration #1 chosen from 1 choice
Feb 8 01:03:56 desktop kernel: [ 138.714573] idVendor = 0x7d1, idProduct = 0x3c03
Feb 8 01:03:56 desktop kernel: [ 138.876195] rt73: driver version - 1.0.3.6 CVS
Feb 8 01:03:56 desktop kernel: [ 139.036326] rt73: Interface up for first time, activating permanent MAC
Feb 8 01:03:56 desktop kernel: [ 139.036333] rt73: Active MAC is: 00:19:5b:74:d8:7e.
Feb 8 01:03:56 desktop kernel: [ 139.036336] rt73: Local MAC = 00:19:5b:74:d8:7e
[/code1coyfnlf]

So what goes wrong at bootup? Any ideas? Why did the stick always start on bootup correctly and all of a sudden it doesn't? Any help would be appreciated.

realsuamor

17-02-2008 14:05:30

Hi,

Yesterday I tested the rt73 driver in single user mode to be sure it did not conflict with other WLAN drivers (which it didn't). On my first try to insmod the module I got firmware loading errors in the debug log (they might be not visible if you don't install a non-debug-version or if you have debugging output turned of).

I found out that the firmware_class modules needs to be loaded before the rt73 is loaded. Usually udev or modprobe should do that but in case you messed up with some manual modprobe(.d/.conf) configuration you should load it first.

The easy way is to just add it to the modprobe.preload file (this file is non-existant on my Ubuntu Feisty, but exists on Mandriva, so maybe you need to add it to another place) to automatically load it upon boot.

The better way is to add a line in your modprobe.d/ralink (or similar) file so that you pre-load it before the rt73 module is loaded.

Reinhard

lafti

18-02-2008 07:43:49

Hi Reinhard,

unfortunately, I was not able to modprobe or to even find the firmware_class modules. It does not seem to be included in my kernel version (2.6.22-14), it is a part of modprobe or hotplug itself if I understood correctly...
However, I also suspected that there must be something wrong with the boot order, so after hours of trying I found a solution that works, although I don't know why. Commenting out the
[code3qtrv2vj]alias wlan* rt73[/code3qtrv2vj]
in /etc/modprobe.conf and /etc/modprobe.d/ralink did the trick and the driver was loaded and the device was named automatically at the correct time during startup.
So for Ubuntu Gutsy and a D-Link DWL-G122 it does not seem to be necessary to load any drivers or to set aliases in /etc/modules, /etc/modprobe.conf, or /etc/modprobe.d/ralink.

[b3qtrv2vj]lafti[/b3qtrv2vj]

fb

24-02-2008 06:55:53

Hi -- I got the same problem following a different path so maybe my story can help. However I'm kind of a newbie and I do not understand everything that's going on here.

The rt73 worked like a charm for me (except possible reboot events during the boot-up process, not sure at all this is linked to rt73 at all, but I mention it just in case).

That is, until I realized I did not have any loopback interface configured (i.e. no lo entry in ifconfig). This was probably due to my fiddling around the /etc/network/interfaces file trying to use my Asus WL-167G WiFi dongle.

Not having any loopback interface creates problems with the user switching feature (gdmflexiserver), so I managed to add

[code2a0gora7]auto lo
iface lo inet loopback[/code2a0gora7]

in /etc/network/interfaces, performing an ifup on lo and getting the user switching to work.

However this caused the exact problem we're talking about, the boot process not completing, and I'll add that ifconfig segfaults. I managed to remove the lines above from /etc/network/interfaces and could boot correctly in the system.

I'll try what you did as soon as possible to see if I can get a proper loopback interface without kernel oops.

EDIT Removed rt73 in /etc/modules and commented out alias wlan* rt73 in /etc/modprobe.d/ralink and it fixed all my problems, too. Thanks a lot.