libertas_sdio stopped working on GuruPlug with version 2.6.37

Emil Renner Berthing libertas-dev at esmil.dk
Sun Jan 23 18:09:07 EST 2011


Hi

After upgrading the kernel from 2.6.36.3 to 2.6.37 on my guruplug the
libertas_sdio module
fails to load the firmware:

libertas_sdio: Libertas SDIO driver
libertas_sdio: Copyright Pierre Ossman
libertas: failed to load firmware
libertas_sdio: probe of mmc0:0001:1 failed with error -5

Attached is the output of dmesg after doing:

$ modprobe libertas libertas_debug=0x480003
$ modprobe libertas_sdio

Please tell if there's something else I could do to help find the bug.
/Emil
-------------- next part --------------
Linux version 2.6.37-guru+ (esmil at guru) (gcc version 4.5-2010.12-0 20101126 (Linaro) [release 4.5-2010.12-0] (GCC) ) #1 Sun Jan 23 19:51:51 CET 2011
CPU: Feroceon 88FR131 [56251311] revision 1 (ARMv5TE), cr=00053977
CPU: VIVT data cache, VIVT instruction cache
Machine: Marvell GuruPlug Reference Board
Memory policy: ECC disabled, Data cache writeback
On node 0 totalpages: 131072
free_area_init_node: node 0, pgdat c02809b0, node_mem_map c029d000
  Normal zone: 1024 pages used for memmap
  Normal zone: 0 pages reserved
  Normal zone: 130048 pages, LIFO batch:31
pcpu-alloc: s0 r0 d32768 u32768 alloc=1*32768
pcpu-alloc: [0] 0 
Built 1 zonelists in Zone order, mobility grouping on.  Total pages: 130048
Kernel command line: console=ttyS0,115200 root=/dev/sda rootwait ro
PID hash table entries: 2048 (order: 1, 8192 bytes)
Dentry cache hash table entries: 65536 (order: 6, 262144 bytes)
Inode-cache hash table entries: 32768 (order: 5, 131072 bytes)
Memory: 512MB = 512MB total
Memory: 517080k/517080k available, 7208k reserved, 0K highmem
Virtual kernel memory layout:
    vector  : 0xffff0000 - 0xffff1000   (   4 kB)
    fixmap  : 0xfff00000 - 0xfffe0000   ( 896 kB)
    DMA     : 0xffc00000 - 0xffe00000   (   2 MB)
    vmalloc : 0xe0800000 - 0xfe800000   ( 480 MB)
    lowmem  : 0xc0000000 - 0xe0000000   ( 512 MB)
    modules : 0xbf000000 - 0xc0000000   (  16 MB)
      .init : 0xc0008000 - 0xc001f000   (  92 kB)
      .text : 0xc001f000 - 0xc0269000   (2344 kB)
      .data : 0xc026a000 - 0xc0281060   (  93 kB)
NR_IRQS:114
Calibrating delay loop... 1192.75 BogoMIPS (lpj=5963776)
pid_max: default: 32768 minimum: 301
Mount-cache hash table entries: 512
CPU: Testing write buffer coherency: ok
devtmpfs: initialized
NET: Registered protocol family 16
Kirkwood: MV88F6281-A1, TCLK=200000000.
Feroceon L2: Cache support initialised.
initial MPP regs: 01111111 11113311 33331111 33333333 00003333 00000222 00000000
  final MPP regs: 01111111 11113311 33331111 33333333 00003333 00000222 00000000
bio: create slab <bio-0> at 0
SCSI subsystem initialized
usbcore: registered new interface driver usbfs
usbcore: registered new interface driver hub
usbcore: registered new device driver usb
Switching to clocksource orion_clocksource
NET: Registered protocol family 2
IP route cache hash table entries: 4096 (order: 2, 16384 bytes)
TCP established hash table entries: 16384 (order: 5, 131072 bytes)
TCP bind hash table entries: 16384 (order: 4, 65536 bytes)
TCP: Hash tables configured (established 16384 bind 16384)
TCP reno registered
UDP hash table entries: 256 (order: 0, 4096 bytes)
UDP-Lite hash table entries: 256 (order: 0, 4096 bytes)
NET: Registered protocol family 1
NILFS version 2 loaded
msgmni has been set to 1009
io scheduler noop registered (default)
Serial: 8250/16550 driver, 2 ports, IRQ sharing disabled
serial8250.0: ttyS0 at MMIO 0xf1012000 (irq = 33) is a 16550A
console [ttyS0] enabled
MV-643xx 10/100/1000 ethernet driver version 1.4
mv643xx_eth smi: probed
net eth0: port 0 with MAC address 00:50:43:67:64:06
net eth1: port 0 with MAC address 02:50:43:46:c5:52
ehci_hcd: USB 2.0 'Enhanced' Host Controller (EHCI) Driver
orion-ehci orion-ehci.0: Marvell Orion EHCI
orion-ehci orion-ehci.0: new USB bus registered, assigned bus number 1
orion-ehci orion-ehci.0: irq 19, io mem 0xf1050000
orion-ehci orion-ehci.0: USB 2.0 started, EHCI 1.00
hub 1-0:1.0: USB hub found
hub 1-0:1.0: 1 port detected
Initializing USB Mass Storage driver...
usbcore: registered new interface driver usb-storage
USB Mass Storage support registered.
rtc-mv rtc-mv: rtc core: registered rtc-mv as rtc0
cpuidle: using governor ladder
cpuidle: using governor menu
TCP cubic registered
NET: Registered protocol family 10
NET: Registered protocol family 17
Gating clock of unused units
before: 0x00dfc3fd
 after: 0x00cf41d9
rtc-mv rtc-mv: setting system clock to 2011-01-23 22:48:23 UTC (1295822903)
Waiting for root device /dev/sda...
usb 1-1: new high speed USB device using orion-ehci and address 2
hub 1-1:1.0: USB hub found
hub 1-1:1.0: 4 ports detected
usb 1-1.3: new high speed USB device using orion-ehci and address 3
scsi0 : usb-storage 1-1.3:1.0
scsi 0:0:0:0: Direct-Access     Kingston DT 100 G2        PMAP PQ: 0 ANSI: 0 CCS
sd 0:0:0:0: [sda] 31252480 512-byte logical blocks: (16.0 GB/14.9 GiB)
sd 0:0:0:0: [sda] Write Protect is off
sd 0:0:0:0: [sda] Mode Sense: 23 00 00 00
sd 0:0:0:0: [sda] Assuming drive cache: write through
sd 0:0:0:0: [sda] Assuming drive cache: write through
 sda: unknown partition table
sd 0:0:0:0: [sda] Assuming drive cache: write through
sd 0:0:0:0: [sda] Attached SCSI removable disk
VFS: Mounted root (nilfs2 filesystem) readonly on device 8:0.
devtmpfs: mounted
Freeing init memory: 92K
udev[54]: starting version 165
mmc0: mvsdio driver initialized, lacking card detect (fall back to polling)
mmc0: new high speed SDIO card at address 0001
segctord starting. Construction interval = 5 seconds, CP frequency < 30 seconds
ADDRCONF(NETDEV_UP): eth0: link is not ready
eth0: link up, 1000 Mb/s, full duplex, flow control disabled
ADDRCONF(NETDEV_CHANGE): eth0: link becomes ready
sshd (259): /proc/259/oom_adj is deprecated, please use /proc/259/oom_score_adj instead.
lib80211: common routines for IEEE802.11 drivers
lib80211_crypt: registered algorithm 'NULL'
cfg80211: Calling CRDA to update world regulatory domain
cfg80211: World regulatory domain updated:
    (start_freq - end_freq @ bandwidth), (max_antenna_gain, max_eirp)
    (2402000 KHz - 2472000 KHz @ 40000 KHz), (300 mBi, 2000 mBm)
    (2457000 KHz - 2482000 KHz @ 20000 KHz), (300 mBi, 2000 mBm)
    (2474000 KHz - 2494000 KHz @ 20000 KHz), (300 mBi, 2000 mBm)
    (5170000 KHz - 5250000 KHz @ 40000 KHz), (300 mBi, 2000 mBm)
    (5735000 KHz - 5835000 KHz @ 40000 KHz), (300 mBi, 2000 mBm)
libertas enter: if_sdio_init_module()
libertas_sdio: Libertas SDIO driver
libertas_sdio: Copyright Pierre Ossman
libertas enter: if_sdio_probe()
libertas sdio: class = 0x0, vendor = 0x2DF, device = 0x9104, model = 0x10, ioport = 0x10000
libertas enter: if_sdio_prog_firmware()
libertas sdio: firmware status = 0x0
libertas sdio: scratch ret = 0
libertas enter: if_sdio_prog_helper()
libertas sdio: sending 60 bytes chunk
libertas sdio: sending 60 bytes chunk
libertas sdio: sending 60 bytes chunk
libertas sdio: sending 60 bytes chunk
libertas sdio: sending 60 bytes chunk
libertas sdio: sending 60 bytes chunk
libertas sdio: sending 60 bytes chunk
libertas sdio: sending 60 bytes chunk
libertas sdio: sending 60 bytes chunk
libertas sdio: sending 60 bytes chunk
libertas sdio: sending 60 bytes chunk
libertas sdio: sending 60 bytes chunk
libertas sdio: sending 60 bytes chunk
libertas sdio: sending 60 bytes chunk
libertas sdio: sending 60 bytes chunk
libertas sdio: sending 60 bytes chunk
libertas sdio: sending 60 bytes chunk
libertas sdio: sending 60 bytes chunk
libertas sdio: sending 60 bytes chunk
libertas sdio: sending 60 bytes chunk
libertas sdio: sending 60 bytes chunk
libertas sdio: sending 60 bytes chunk
libertas sdio: sending 60 bytes chunk
libertas sdio: sending 60 bytes chunk
libertas sdio: sending 60 bytes chunk
libertas sdio: sending 60 bytes chunk
libertas sdio: sending 60 bytes chunk
libertas sdio: sending 60 bytes chunk
libertas sdio: sending 60 bytes chunk
libertas sdio: sending 60 bytes chunk
libertas sdio: sending 60 bytes chunk
libertas sdio: sending 60 bytes chunk
libertas sdio: sending 60 bytes chunk
libertas sdio: sending 60 bytes chunk
libertas sdio: sending 60 bytes chunk
libertas sdio: sending 60 bytes chunk
libertas sdio: sending 60 bytes chunk
libertas sdio: sending 60 bytes chunk
libertas sdio: sending 60 bytes chunk
libertas sdio: sending 60 bytes chunk
libertas sdio: sending 60 bytes chunk
libertas sdio: sending 60 bytes chunk
libertas sdio: sending 60 bytes chunk
libertas sdio: sending 36 bytes chunk
libertas sdio: waiting for helper to boot...
libertas leave: if_sdio_prog_helper(), ret 0
libertas sdio: Helper firmware loaded
libertas enter: if_sdio_prog_real()
libertas sdio: firmware wants 1 bytes
libertas sdio: firmware helper signalled error
libertas: failed to load firmware
libertas leave: if_sdio_prog_real(), ret -5
libertas leave: if_sdio_prog_firmware(), ret -5
libertas leave: if_sdio_probe(), ret -5
libertas_sdio: probe of mmc0:0001:1 failed with error -5
libertas leave: if_sdio_init_module(), ret 0


More information about the libertas-dev mailing list