# [SOLVED] Cannot find microcode iwl3945-ucode

## depayns

Good evening,

After changing my arch to ~x86 I cannot properly setup my 3945 Wifi Card. 

The module is compiled in the kernel (the card is recongized by a iwconfig), however as soon as I try a 

```
 /etc/init.d/net.wlan0 start
```

I get in the dmesg : 

```
iwl3945: firmware: requesting iwlwifi-3945-1.ucode

iwl3945: iwlwifi-3945-1.ucode firmware file req failed: Reason -2

iwl3945: Could not read microcode: -2
```

Of course I have the microcode pulled in (version 15.28.1.6), and it sits in /lib/firmware

Do you know why the kernel module cannot read (find ?) this microcode ?

ThanksLast edited by depayns on Tue Jan 13, 2009 2:01 pm; edited 1 time in total

----------

## swimmer

Perhaps it's looking for =net-wireless/iwl3945-ucode-2.14.1.5 ? Just give it a try ...

HTH

swimmer

----------

## d2_racing

Hi, can you post this :

```

# emerge --info

# equery list iwl

```

----------

## depayns

Sure here it is. But the really strange things is that on X86 it works flwalessly.. it is just when I tried to go on ~x86 (I am seting up a test machine for the kde4 scm overlay)

I just seems it cannot find the ucode file in /lib/firmware. Am I sane when I say I suspect udev to be faulty ?

So here it is for the emerge --info (I am using paludis, but that should not make much difference)

```
app-shells/bash:     3.2_p48                                                    

dev-lang/python:     2.5.2-r8                                                   

sys-apps/baselayout: 2.0.0                                                      

sys-apps/openrc:     0.4.1-r1                                                   

sys-apps/sandbox:    1.3.2                                                      

sys-devel/autoconf:  2.63                                                       

sys-devel/automake:  1.9.6-r2, 1.10.2                                           

sys-devel/binutils:  2.19                                                       

sys-devel/gcc-config: 1.4.0-r4                                                  

sys-devel/libtool:   2.2.6a                                                     

virtual/os-headers:  2.6.28-r1                                                  

ACCEPT_KEYWORDS="x86 ~x86"                                                      

CBUILD="i686-pc-linux-gnu"                                                      

CFLAGS="-O2 -march=native -pipe"                                                

CHOST="i686-pc-linux-gnu"                                                       

CONFIG_PROTECT="/etc"                                                           

CONFIG_PROTECT_MASK="/etc/ca-certificates.conf /etc/env.d /etc/fonts/fonts.conf /etc/gconf /etc/gentoo-release /etc/revdep-rebuild /etc/sandbox.d /etc/terminfo /etc/udev/rules.d"                                                              

CXXFLAGS="-O2 -march=i686 -pipe"                                                

DISTDIR="/usr/portage/distfiles"                                                

FEATURES="distlocks fixpackages parallel-fetch protect-owned sandbox sfperms strict unmerge-orphans userfetch"                                                  

GENTOO_MIRRORS="http://distfiles.gentoo.org http://distro.ibiblio.org/pub/linux/distributions/gentoo"

LANG="fr_FR.utf8"

LDFLAGS="-Wl,-O1"

PKGDIR="/usr/portage/packages"

PORTAGE_RSYNC_OPTS="--recursive --links --safe-links --perms --times --compress--force --whole-file --delete --stats --timeout=180 --exclude=/distfiles --exclude=/local --exclude=/packages"

PORTAGE_TMPDIR="/var/tmp"

PORTDIR="/usr/portage"

SYNC="rsync://rsync.gentoo.org/gentoo-portage"

USE="acl berkdb bzip2 cli cracklib crypt cups dri fortran gdbm gpm iconv isdnlog midi mudflap ncurses nls nptl nptlonly openmp pam pcre perl pppd python readline reflection session spl ssl sysfs tcpd unicode x86 xorg zlib" ALSA_CARDS="ali5451 als4000 atiixp atiixp-modem bt87x ca0106 cmipci emu10k1 emu10k1x ens1370 ens1371 es1938 es1968 fm801 hda-intel intel8x0 intel8x0m maestro3 trident usb-audiovia82xx via82xx-modem ymfpci" ALSA_PCM_PLUGINS="adpcm alaw asym copy dmix dshare dsnoop empty extplug file hooks iec958 ioplug ladspa lfloat linear meter mmap_emul mulaw multi null plug rate route share shm softvol" APACHE2_MODULES="actions alias auth_basic authn_alias authn_anon authn_dbm authn_default authn_file authz_dbm authz_default authz_groupfile authz_host authz_owner authz_user autoindexcache dav dav_fs dav_lock deflate dir disk_cache env expires ext_filter file_cache filter headers include info log_config logio mem_cache mime mime_magic negotiation rewrite setenvif speling status unique_id userdir usertrack vhost_alias" ELIBC="glibc" INPUT_DEVICES="keyboard mouse evdev" KERNEL="linux" LCD_DEVICES="bayrad cfontz cfontz633 glk hd44780 lb216 lcdm001 mtxorb ncurses text" USERLAND="GNU" VIDEO_CARDS="fbdev glint i810 intel mach64 mga neomagic nv r128 radeon savage sis tdfx trident vesa vga via vmware voodoo"

Unset:  CPPFLAGS, CTARGET, EMERGE_DEFAULT_OPTS, FFLAGS, INSTALL_MASK, LC_ALL, LINGUAS, MAKEOPTS, PORTAGE_COMPRESS, PORTAGE_COMPRESS_FLAGS, PORTAGE_RSYNC_EXTRA_OPTS, PORTDIR_OVERLAY
```

and for equery list iwl

```
[ Searching for package 'iwl' in all categories among: ]                        

 * installed packages                                                           

[I--] [M~] net-wireless/iwl3945-ucode-15.28.1.6 (0)  
```

----------

## d2_racing

Hi, I see that you use the kernel 2.6.28, you should use the kernel 2.6.27 and retry.

I'm sure that the kernel 2.6.28 is not compatible with the most recent iwl3945 firmware.

----------

## El_Presidente_Pufferfish

 *d2_racing wrote:*   

> Hi, I see that you use the kernel 2.6.28, you should use the kernel 2.6.27 and retry.
> 
> I'm sure that the kernel 2.6.28 is not compatible with the most recent iwl3945 firmware.

 

2.6.28 and net-wireless/iwl3945-ucode-15.28.1.6 are working fine here

----------

## farhaven

I had that problem too, for some reason, the ebuild installs the firmware file as /lib/firmware/iwlwifi-3945.ucode, which is not what the driver is looking for. Symlink that file to /lib/firmware/iwlwifi-3945-1.ucode and everything should be fine.

----------

## depayns

Hi,

After a lot of brain wisting I found what was wrong. At some point it seems that udev rules were not correct and were not working properly (I had switched to baselayout 2.0 and new openrc), as everything else seemed ok.

So doing a simple:

```
rc-update del udevd sysinit 

rc-update add udev sysinit 
```

solved all the issue of the ucode not being loaded properly. That took me hours of searching... Hey but that is also why we like our gentoo

----------

