# zd1211 usb device can't load its firmware

## Napalm Llama

My USB wifi adaptor works fine on my main PC, (I'm using it right now), but on my server the driver can't seem to load the firmware.  The kernel has everything built-in, except for the zd1211rw driver which is built as a module.  Here's some dmesg illustrating my problem:

```
usbcore: registered new interface driver zd1211rw

usb 1-1: new full speed USB device using ppc-of-ohci and address 4

usb 1-1: configuration #1 chosen from 1 choice

usb 1-1: reset full speed USB device using ppc-of-ohci and address 4

phy1: Selected rate control algorithm 'pid'

zd1211rw 1-1:1.0: phy1
```

```
usb 1-1: firmware: requesting zd1211/zd1211b_ub

usb 1-1: Could not load firmware file zd1211/zd1211b_ub. Error number -2

zd1211rw 1-1:1.0: couldn't load firmware. Error number -2
```

The firmware is definitely in the right place, I downloaded it last night from the site mentioned in the kernel's menuconfig and installed it in /lib/firmware/zd1211rw/, as instructed by the README file in the tarball.

When I run ifconfig, it waits ages before finally saying "SIOCSIFFLAGS: No such file or directory"

My server is running 2.6.28-hardened-r9, and is a PPC system running on uClibc, if that matters.

Am I doing something wrong, or is there a bug?

----------

## paulusbrand

requesting zd1211/zd1211b_ub 

/lib/firmware/zd1211rw/

See the difference?   :Wink: 

----------

## Napalm Llama

My bad, I was writing from memory.

The folder on my filesystem is indeed /lib/firmware/zd1211/

----------

## eduardhc

 *Napalm Llama wrote:*   

> My bad, I was writing from memory.
> 
> The folder on my filesystem is indeed /lib/firmware/zd1211/

 

Hi, 

There's an ebuild for the zd1211 firmware in Portage. Just emerge it and it will install the firmware on the required location:

```

emerge zd1211-firmware

```

I have a zd1211-based adapter and it has always worked fine this way.

Regards

----------

## Napalm Llama

Nope, emerged it but the problem remains.  I'm guessing this is a bug, I'll get reporting it...

edit:  done.

----------

## Paczesiowa

I wanted to get rid of udev on my old laptop, so I've set up this: http://www.mail-archive.com/zd1211-devs@lists.sourceforge.net/msg01105.html

udev should do it by itself, by maybe doing those uploads one by one, you'll notice something wrong.

----------

## Napalm Llama

...you might be onto something there.  I think I took udev out of that machine a while ago because it was causing more trouble than it was worth - and if zd1211rw doesn't work out-of-the-box without it, that's probably the source of the problem.  Thanks for the link, I'll have a go at that  :Smile: 

----------

## Napalm Llama

One thing - where do I put the script, and how do I get the driver to use it?

----------

## Paczesiowa

it doesn't matter where you put it, chmod +x it, and echo its location into /proc/sys/kernel/hotplug

----------

