2010-03-04 07:35:38

by Malte Gell

[permalink] [raw]
Subject: Kernel 2.6.33: ar9170.fw firmware file not found

Hello,

I just upgraded from Kernel 2.6.32 to 2.6.33 and the ar9170 driver suddenly
says "firmware file not found". Of course, I have the one stage and the two two
stage files in /lib/firmware. What does this error occur? Do I have to update
the firmware? Does kernel 2.6.33 need more recent firmware files? Or what is the
reason? Or is it a bug?

Thanx
Malte


2010-03-04 08:57:32

by Malte Gell

[permalink] [raw]
Subject: Re: Kernel 2.6.33: ar9170.fw firmware file not found


Malte Gell <[email protected]> wrote

> I just upgraded from Kernel 2.6.32 to 2.6.33 and the ar9170 driver suddenly
> says "firmware file not found". Of course, I have the one stage and the two
> two stage files in /lib/firmware. What does this error occur? Do I have to
> update the firmware? Does kernel 2.6.33 need more recent firmware files?
> Or what is the reason? Or is it a bug?

I have added the rule

SUBSYSTEM=="compat_firmware", ACTION=="add", RUN+="firmware.sh"

to /lib/udev/rules.d/50-udev-default.rules (openSUSE 11.1), but it did not
help yet... it still got not found...

2010-03-11 06:48:17

by Malte Gell

[permalink] [raw]
Subject: Re: Kernel 2.6.33: ar9170.fw firmware file not found


"Luis R. Rodriguez" <[email protected]> wrote

> To debug firmware loading you can run
> udevadm monitor
> And read all the stuff there when you try to load the driver.

Thanks for this hint. I tried this now and the attached file ar9170.log
contains the output.

Regards
Malte


Attachments:
ar9170.log (1.18 kB)

2010-03-06 02:42:28

by Malte Gell

[permalink] [raw]
Subject: Re: Kernel 2.6.33: ar9170.fw firmware file not found


Pavel Roskin <[email protected]> wrote

> On Thu, 2010-03-04 at 08:35 +0100, Malte Gell wrote:
> > Hello,
> >
> > I just upgraded from Kernel 2.6.32 to 2.6.33 and the ar9170 driver
> > suddenly says "firmware file not found".

Ok, this is what the kernel says:

<6>[ 12.020028] usb 1-3: firmware: requesting ar9170.fw
<3>[ 72.050094] usb 1-3: ar9170.fw firmware file not found, trying old
firmware...
<6>[ 72.066421] usb 1-3: firmware: requesting ar9170-1.fw
<3>[ 132.080085] usb 1-3: file with init values not found.
<4>[ 132.096535] ar9170usb: probe of 1-3:1.0 failed with error -2
<6>[ 132.113558] usbcore: registered new interface driver ar9170usb

I have the same firmware in /lib/firmware I use with 2.6.32 and it is actually a
Fritz WLAN N stick...

Thanx
Malte

2010-03-10 07:53:12

by Luis R. Rodriguez

[permalink] [raw]
Subject: Re: Kernel 2.6.33: ar9170.fw firmware file not found

On Tue, Mar 9, 2010 at 9:37 PM, Pavel Roskin <[email protected]> wrote:
> On Sat, 2010-03-06 at 03:42 +0100, Malte Gell wrote:
>> Pavel Roskin <[email protected]> wrote
>>
>> > On Thu, 2010-03-04 at 08:35 +0100, Malte Gell wrote:
>> > > Hello,
>> > >
>> > > I just upgraded from Kernel 2.6.32 to 2.6.33 and the ar9170 driver
>> > > suddenly says "firmware file not found".
>>
>> Ok, this is what the kernel says:
>>
>>  <6>[   12.020028] usb 1-3: firmware: requesting ar9170.fw
>> <3>[   72.050094] usb 1-3: ar9170.fw firmware file not found, trying old
>> firmware...
>> <6>[   72.066421] usb 1-3: firmware: requesting ar9170-1.fw
>> <3>[  132.080085] usb 1-3: file with init values not found.
>> <4>[  132.096535] ar9170usb: probe of 1-3:1.0 failed with error -2
>> <6>[  132.113558] usbcore: registered new interface driver ar9170usb
>>
>> I have the same firmware in /lib/firmware I use with 2.6.32 and it is actually a
>> Fritz WLAN N stick...
>
> Oh, I see.  I misunderstood you.  When you mentioned that you get the
> message "firmware file not found", I thought you were getting that
> message without the firmware name.  Indeed, the driver can print it
> under some rare circumstances, but it's not the case here.
>
> I should have asked you for the exact kernel log output before delving
> into the sources and trying to guess what is happening.  That serves me
> a lesson.
>
> So you have a case of the firmware not loading at all.  I'm pretty sure
> the problem lies outside the driver, and likely outside the kernel.

To debug firmware loading you can run

udevadm monitor

And read all the stuff there when you try to load the driver.

Luis

2010-03-15 10:23:15

by Malte Gell

[permalink] [raw]
Subject: Re: Kernel 2.6.33: ar9170.fw firmware file not found

Hello,

Pavel Roskin <[email protected]> wrote

> I compiled a kernel with your config on plain 2.6.33. I'm using the
> x86_64 architecture, so "make oldconfig" asked a few questions, but
> nothing important.
>
> I'm running that kernel with no problems. The driver loads and works
> fine. Here's the output of udevadm monitor:

I am not using a vanilla kernel, but a 2.6.33 from openSUSE, heaven knows what
they have added to the kernel...

> It looks like you get no USB events. Also, the output looks
> differently. KERNEL events are called UEVENT in your log.
>
> Maybe you could try another USB port, just in case? I would probably
> add debugging to the udev scripts to see what they are doing. Maybe
> there is an update for udev for your system?
>
> Perhaps you should find another forum to ask questions about udev. I
> think the kernel is not a suspect anymore.

Thanks so far, I will try that.

Regards
Malte


2010-03-11 18:25:37

by Pavel Roskin

[permalink] [raw]
Subject: Re: Kernel 2.6.33: ar9170.fw firmware file not found

On Thu, 2010-03-11 at 09:33 +0100, Malte Gell wrote:
> Pavel Roskin <[email protected]> wrote
> > Please post your .config file. I guess you are missing something
> > obvious, like sysfs support or inotify.
>
> Thanx, okay. It is attached. But to me it seems sysfs and inotify is there...

I compiled a kernel with your config on plain 2.6.33. I'm using the
x86_64 architecture, so "make oldconfig" asked a few questions, but
nothing important.

I'm running that kernel with no problems. The driver loads and works
fine. Here's the output of udevadm monitor:

# udevadm monitor
monitor will print the received events for:
UDEV - the event which udev sends out after rule processing
KERNEL - the kernel uevent

KERNEL[1268330587.328525] add /module/ar9170usb (module)
UDEV [1268330587.329955] add /module/ar9170usb (module)
KERNEL[1268330588.565742] remove /devices/pci0000:00/0000:00:1d.7/usb1/1-8/1-8:1.0 (usb)
KERNEL[1268330588.565772] remove /devices/pci0000:00/0000:00:1d.7/usb1/1-8 (usb)
KERNEL[1268330588.565987] add /bus/usb/drivers/ar9170usb (drivers)
UDEV [1268330588.567718] add /bus/usb/drivers/ar9170usb (drivers)
UDEV [1268330588.569497] remove /devices/pci0000:00/0000:00:1d.7/usb1/1-8/1-8:1.0 (usb)
UDEV [1268330588.571498] remove /devices/pci0000:00/0000:00:1d.7/usb1/1-8 (usb)
KERNEL[1268330589.868626] add /devices/pci0000:00/0000:00:1d.7/usb1/1-8 (usb)
KERNEL[1268330589.869178] add /devices/pci0000:00/0000:00:1d.7/usb1/1-8/1-8:1.0 (usb)
KERNEL[1268330591.158658] add /devices/pci0000:00/0000:00:1d.7/usb1/1-8/firmware/1-8 (firmware)
KERNEL[1268330591.161688] remove /devices/pci0000:00/0000:00:1d.7/usb1/1-8/firmware/1-8 (firmware)
UDEV [1268330591.162451] add /devices/pci0000:00/0000:00:1d.7/usb1/1-8/firmware/1-8 (firmware)
UDEV [1268330591.163424] remove /devices/pci0000:00/0000:00:1d.7/usb1/1-8/firmware/1-8 (firmware)
KERNEL[1268330591.736323] add /devices/pci0000:00/0000:00:1d.7/usb1/1-8/1-8:1.0/ieee80211/phy2 (ieee80211)
KERNEL[1268330591.736349] add /devices/pci0000:00/0000:00:1d.7/usb1/1-8/1-8:1.0/ieee80211/phy2/rfkill1 (rfkill)
KERNEL[1268330591.736503] change /devices/pci0000:00/0000:00:1d.7/usb1/1-8/1-8:1.0/ieee80211/phy2/rfkill1 (rfkill)
KERNEL[1268330591.737446] add /devices/pci0000:00/0000:00:1d.7/usb1/1-8/1-8:1.0/net/wlan0 (net)
KERNEL[1268330591.740066] add /devices/pci0000:00/0000:00:1d.7/usb1/1-8/1-8:1.0/leds/ar9170-phy2::tx (leds)
UDEV [1268330591.740094] add /devices/pci0000:00/0000:00:1d.7/usb1/1-8 (usb)
KERNEL[1268330591.740105] add /devices/pci0000:00/0000:00:1d.7/usb1/1-8/1-8:1.0/leds/ar9170-phy2::assoc (leds)
UDEV [1268330591.745693] add /devices/pci0000:00/0000:00:1d.7/usb1/1-8/1-8:1.0 (usb)
UDEV [1268330591.746816] add /devices/pci0000:00/0000:00:1d.7/usb1/1-8/1-8:1.0/leds/ar9170-phy2::assoc (leds)
UDEV [1268330591.748185] add /devices/pci0000:00/0000:00:1d.7/usb1/1-8/1-8:1.0/leds/ar9170-phy2::tx (leds)
KERNEL[1268330591.751861] move /devices/pci0000:00/0000:00:1d.7/usb1/1-8/1-8:1.0/net/wlan25 (net)
UDEV [1268330591.768580] add /devices/pci0000:00/0000:00:1d.7/usb1/1-8/1-8:1.0/ieee80211/phy2 (ieee80211)
UDEV [1268330591.771943] add /devices/pci0000:00/0000:00:1d.7/usb1/1-8/1-8:1.0/ieee80211/phy2/rfkill1 (rfkill)
UDEV [1268330591.775586] change /devices/pci0000:00/0000:00:1d.7/usb1/1-8/1-8:1.0/ieee80211/phy2/rfkill1 (rfkill)
UDEV [1268330591.789582] add /devices/pci0000:00/0000:00:1d.7/usb1/1-8/1-8:1.0/net/wlan25 (net)
UDEV [1268330591.799576] move /devices/pci0000:00/0000:00:1d.7/usb1/1-8/1-8:1.0/net/wlan25 (net)


It looks like you get no USB events. Also, the output looks
differently. KERNEL events are called UEVENT in your log.

Maybe you could try another USB port, just in case? I would probably
add debugging to the udev scripts to see what they are doing. Maybe
there is an update for udev for your system?

Perhaps you should find another forum to ask questions about udev. I
think the kernel is not a suspect anymore.

--
Regards,
Pavel Roskin

2010-03-05 22:26:46

by Pavel Roskin

[permalink] [raw]
Subject: Re: Kernel 2.6.33: ar9170.fw firmware file not found

On Thu, 2010-03-04 at 08:35 +0100, Malte Gell wrote:
> Hello,
>
> I just upgraded from Kernel 2.6.32 to 2.6.33 and the ar9170 driver suddenly
> says "firmware file not found". Of course, I have the one stage and the two two
> stage files in /lib/firmware. What does this error occur? Do I have to update
> the firmware? Does kernel 2.6.33 need more recent firmware files? Or what is the
> reason? Or is it a bug?

I checked the sources of Linux 2.6.33. My understanding is that
"firmware file not found" (a very uninformative message, by the way)
would only be printed if following happens:

- ar9170.fw cannot be loaded
- the device is not AVM FRITZ!WLAN USB Stick N 2.4
- ar9170-1.fw can be loaded
- ar9170-2.fw cannot be loaded

Moreover, I checked the differences between 2.6.32 and 2.6.33, and I
don't see any changes that could affect the firmware download.

I suggest that you check what you have in /lib/firmware. Looks at the
file sizes. Maybe OpenSUSE only loads firmware from directories with
the kernel version, such as /lib/firmware/2.6.33?

You could try compat-wireless. It the has some changes to the firmware
load code.

If you have any further problems, please give the exact kernel log
messages as reported by dmesg, as they can contain some clues.

--
Regards,
Pavel Roskin

2010-03-05 22:37:53

by Larry Finger

[permalink] [raw]
Subject: Re: Kernel 2.6.33: ar9170.fw firmware file not found

On 03/05/2010 04:26 PM, Pavel Roskin wrote:
> I suggest that you check what you have in /lib/firmware. Looks at the
> file sizes. Maybe OpenSUSE only loads firmware from directories with
> the kernel version, such as /lib/firmware/2.6.33?

No, openSUSE loads from /lib/firmware.

Larry

2010-03-11 08:33:24

by Malte Gell

[permalink] [raw]
Subject: Re: Kernel 2.6.33: ar9170.fw firmware file not found


Pavel Roskin <[email protected]> wrote

> On Thu, 2010-03-11 at 07:48 +0100, Malte Gell wrote:
> > "Luis R. Rodriguez" <[email protected]> wrote
> >
> > > To debug firmware loading you can run
> > > udevadm monitor
> > > And read all the stuff there when you try to load the driver.
> >
> > Thanks for this hint. I tried this now and the attached file ar9170.log
> > contains the output.

> Please post your .config file. I guess you are missing something
> obvious, like sysfs support or inotify.

Thanx, okay. It is attached. But to me it seems sysfs and inotify is there...

Malte


Attachments:
.config (103.65 kB)

2010-03-11 07:40:21

by Pavel Roskin

[permalink] [raw]
Subject: Re: Kernel 2.6.33: ar9170.fw firmware file not found

On Thu, 2010-03-11 at 07:48 +0100, Malte Gell wrote:
> "Luis R. Rodriguez" <[email protected]> wrote
>
> > To debug firmware loading you can run
> > udevadm monitor
> > And read all the stuff there when you try to load the driver.
>
> Thanks for this hint. I tried this now and the attached file ar9170.log
> contains the output.

Please post your .config file. I guess you are missing something
obvious, like sysfs support or inotify.

--
Regards,
Pavel Roskin

2010-03-10 05:37:10

by Pavel Roskin

[permalink] [raw]
Subject: Re: Kernel 2.6.33: ar9170.fw firmware file not found

On Sat, 2010-03-06 at 03:42 +0100, Malte Gell wrote:
> Pavel Roskin <[email protected]> wrote
>
> > On Thu, 2010-03-04 at 08:35 +0100, Malte Gell wrote:
> > > Hello,
> > >
> > > I just upgraded from Kernel 2.6.32 to 2.6.33 and the ar9170 driver
> > > suddenly says "firmware file not found".
>
> Ok, this is what the kernel says:
>
> <6>[ 12.020028] usb 1-3: firmware: requesting ar9170.fw
> <3>[ 72.050094] usb 1-3: ar9170.fw firmware file not found, trying old
> firmware...
> <6>[ 72.066421] usb 1-3: firmware: requesting ar9170-1.fw
> <3>[ 132.080085] usb 1-3: file with init values not found.
> <4>[ 132.096535] ar9170usb: probe of 1-3:1.0 failed with error -2
> <6>[ 132.113558] usbcore: registered new interface driver ar9170usb
>
> I have the same firmware in /lib/firmware I use with 2.6.32 and it is actually a
> Fritz WLAN N stick...

Oh, I see. I misunderstood you. When you mentioned that you get the
message "firmware file not found", I thought you were getting that
message without the firmware name. Indeed, the driver can print it
under some rare circumstances, but it's not the case here.

I should have asked you for the exact kernel log output before delving
into the sources and trying to guess what is happening. That serves me
a lesson.

So you have a case of the firmware not loading at all. I'm pretty sure
the problem lies outside the driver, and likely outside the kernel.

--
Regards,
Pavel Roskin