Does anyone know of any patched libertas drivers or 8688 firmware?
I can certainly confirm that the Guruplug will not work for very long as a WiFi client with the factory distribution. I have also tried recompliling using the sources published with no difference.
I created a really simple script. I have two Guruplugs and the same happens on both. When I run this on a Guruplug connected ONLY via wifi to my home router, the Guruplug crashes - typically after 1 - 2 minutes. There is no error when using ethernet of course!
#!/bin/sh
while [ 1 ]
do
wget ftp://192.168.1.101/Downloads/datasheet.pdf
rm datasheet.pdf
echo "done"
done
exit 0
The same error occurs when using curl to download instead of wget (so it is not the wget package), but it works when I copy the file from one directory to another (ie eliminating the wifi element of the test).
This is the failure I see
--2010-11-11 16:42:55-- ftp://192.168.1.100/Downloads/datasheetUnable to handle kernel NULL pointer dereference at virtual address 0000006e
.pdf
pgd = de7d0000
=> `datasheet.p[0000006e] *pgd=1e756031df'
Connecting , *pte=00000000to 192.168.1.100, *ppte=00000000:21... connected
.
Logging in asInternal error: Oops: 17 [#1] PREEMPT
last sysfs file: /sys/devices/platform/leds-gpio/leds/plug2l:green:wmode/brightness
Modules linked in: libertas_sdio libertas sco bridge stp llc btmrvl_sdio bnep btmrvl rfcomm l2cap xt_tcpudp iptable_filter ipt_MASQUERADE iptable_nat nf_nat nf_conntrack_ipv4 nf_conntrack nf_defrag_ipv4 ip_tables x_tables ipv6 bluetooth [last unloaded: uap8xxx]
CPU: 0 Not tainted (2.6.32-00007-g56678ec #1)
PC is at dnotify_flush+0x14/0x12c
LR is at filp_close+0x58/0x78
pc : [<c00eede8>] lr : [<c00bdaa0>] psr: 60000013
sp : de795f70 ip : de795f90 fp : beb828b4
r10: 00000017 r9 : de794000 r8 : de759580
r7 : df04e000 r6 : df04e000 r5 : de759580 r4 : 00000000
r3 : de529e40 r2 : de794000 r1 : df04e000 r0 : de759580
Flags: nZCv IRQs on FIQs on Mode SVC_32 ISA ARM Segment user
Control: 0005397f Table: 1e7d0000 DAC: 00000015
Process wget (pid: 2342, stack limit = 0xde794270)
Stack: (0xde795f70 to 0xde796000)
5f60: de759580 df04e000 00000000 c00bdaa0
5f80: 00000001 00000003 de794000 c00bec9c 00000000 00000003 000452e8 00000006
5fa0: c002db44 c002d9c0 00000000 00000003 00000003 402f46c7 00000000 000473be
5fc0: 00000000 00000003 000452e8 00000006 00000000 00000000 00000017 beb828b4
5fe0: 0004e8e0 beb827e0 0000afec 40284cbc 60000010 00000003 00000000 00000000
[<c00eede8>] (dnotify_flush+0x14/0x12c) from [<c00bdaa0>] (filp_close+0x58/0x78)
[<c00bdaa0>] (filp_close+0x58/0x78) from [<c00bec9c>] (sys_close+0x98/0xf4)
[<c00bec9c>] (sys_close+0x98/0xf4) from [<c002d9c0>] (ret_fast_syscall+0x0/0x28)
Code: e590300c e1a05000 e1a06001 e593400c (e1d436be)
anonymous ...
Error in server response, closing control connection.
---[ end trace 53f9cf2a2fdf54a7 ]---
Message from syslogd@guruplug-debian at Nov 11 16:42:56 ...
kernel:last sysfs file: /sys/devices/platform/leds-gpio/leds/plug2l:green:wmode/brightness
Message from syslogd@guruplug-debian at Nov 11 16:42:56 ...
kernel:Internal error: Oops: 17 [#1] PREEMPT
./test_guru.sh: line 12: 2342 Segmentation fault wget ftp://192.168.1.100/Downloads/datasheet.pdf
Message from syslogd@guruplug-debian at Nov 11 16:42:56 ...
kernel:Stack: (0xde795f70 to 0xde796000)
Message from syslogd@guruplug-debian at Nov 11 16:42:56 ...
kernel:Process wget (pid: 2342, stack limit = 0xde794270)
Message from syslogd@guruplug-debian at Nov 11 16:42:56 ...
kernel:5f60: de759580 df04e000 00000000 c00bdaa0
Message from syslogd@guruplug-debian at Nov 11 16:42:56 ...
kernel:5f80: 00000001 00000003 de794000 c00bec9c 00000000 00000003 000452e8 00000006
Message from syslogd@guruplug-debian at Nov 11 16:42:56 ...
kernel:5fa0: c002db44 c002d9c0 00000000 00000003 00000003 402f46c7 00000000 000473be
rm: cannot remove `datasheet.pdf': No such file or directory
done
Message from syslogd@guruplug-debian at Nov 11 16:42:56 ...
kernel:5fc0: 00000000 00000003 000452e8 00000006 00000000 00000000 00000017 beb828b4
Message from syslogd@guruplug-debian at Nov 11 16:42:56 ...
kernel:5fe0: 0004e8e0 beb827e0 0000afec 40284cbc 60000010 00000003 00000000 00000000
Message from syslogd@guruplug-debian at Nov 11 16:42:56 ...
kernel:Code: e590300c e1a05000 e1a06001 e593400c (e1d436be)
--2010-11-11 16:42:56-- ftp://192.168.1.100/Downloads/datasheet.pdf
=> `datasheet.pdf'
Connecting to 192.168.1.100:21... connected.
Logging in as anonymous ... Logged in!
==> SYST ... done. ==> PWD ... done.
==> TYPE I ... done. ==> CWD /Downloads ... done.
==> SIZE datasheet.pdf ... 616391
==> PASV ... done. ==> RETR datasheet.pdf ... done.
Length: 616391 (602K)
99% [=====================================> ] 615,936 --.-K/s eta 0s ^C
As you can see, this crash hasn't taken the whole unit down, just hung. Sometimes, the whole thing freezes and I need to reset.
Here is the dmesg that follows
dmesg
Linux version 2.6.32-00007-g56678ec (root@msi-linux-build.marvell.com) (gcc version 4.1.2 20070925 (Red Hat 4.1.2-33.fa1)) #1 PREEMPT Mon Feb 8 03:49:55 PST 2010
CPU: Feroceon 88FR131 [56251311] revision 1 (ARMv5TE), cr=00053977
CPU: VIVT data cache, VIVT instruction cache
Machine: Marvell Plug2L Reference Board
Memory policy: ECC disabled, Data cache writeback
On node 0 totalpages: 131072
free_area_init_node: node 0, pgdat c05881c8, node_mem_map c065f000
Normal zone: 1024 pages used for memmap
Normal zone: 0 pages reserved
Normal zone: 130048 pages, LIFO batch:31
Built 1 zonelists in Zone order, mobility grouping on. Total pages: 130048
Kernel command line: console=ttyS0,115200 ubi.mtd=2 root=ubi0:rootfs rootfstype=ubifs
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: 256MB 256MB = 512MB total
Memory: 513024KB available (5144K code, 1034K data, 148K init, 0K highmem)
SLUB: Genslabs=11, HWalign=32, Order=0-3, MinObjects=0, CPUs=1, Nodes=1
Hierarchical RCU implementation.
NR_IRQS:114
Console: colour dummy device 80x30
Calibrating delay loop... 1192.75 BogoMIPS (lpj=5963776)
Mount-cache hash table entries: 512
CPU: Testing write buffer coherency: ok
NET: Registered protocol family 16
Kirkwood: MV88F6281-A0, 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
vgaarb: loaded
SCSI subsystem initialized
libata version 3.00 loaded.
usbcore: registered new interface driver usbfs
usbcore: registered new interface driver hub
usbcore: registered new device driver usb
cfg80211: Using static regulatory domain info
cfg80211: Regulatory domain: US
(start_freq - end_freq @ bandwidth), (max_antenna_gain, max_eirp)
(2402000 KHz - 2472000 KHz @ 40000 KHz), (600 mBi, 2700 mBm)
(5170000 KHz - 5190000 KHz @ 40000 KHz), (600 mBi, 2300 mBm)
(5190000 KHz - 5210000 KHz @ 40000 KHz), (600 mBi, 2300 mBm)
(5210000 KHz - 5230000 KHz @ 40000 KHz), (600 mBi, 2300 mBm)
(5230000 KHz - 5330000 KHz @ 40000 KHz), (600 mBi, 2300 mBm)
(5735000 KHz - 5835000 KHz @ 40000 KHz), (600 mBi, 3000 mBm)
cfg80211: Calling CRDA for country: US
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
NET: Registered protocol family 1
RPC: Registered udp transport module.
RPC: Registered tcp transport module.
RPC: Registered tcp NFSv4.1 backchannel transport module.
JFFS2 version 2.2. (NAND) © 2001-2006 Red Hat, Inc.
JFS: nTxBlock = 4010, nTxLock = 32080
msgmni has been set to 1002
alg: No test for stdrng (krng)
io scheduler noop registered
io scheduler anticipatory registered
io scheduler deadline registered
io scheduler cfq 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
brd: module loaded
loop: module loaded
sata_mv sata_mv.0: version 1.28
sata_mv sata_mv.0: slots 32 ports 1
scsi0 : sata_mv
ata1: SATA max UDMA/133 irq 21
NAND device: Manufacturer ID: 0xec, Chip ID: 0xdc (Samsung NAND 512MiB 3,3V 8-bit)
Scanning device for bad blocks
Creating 3 MTD partitions on "orion_nand":
0x000000000000-0x000000100000 : "u-boot"
0x000000100000-0x000000500000 : "uImage"
0x000000500000-0x000020000000 : "root"
UBI: attaching mtd2 to ubi0
UBI: physical eraseblock size: 131072 bytes (128 KiB)
UBI: logical eraseblock size: 129024 bytes
UBI: smallest flash I/O unit: 2048
UBI: sub-page size: 512
UBI: VID header offset: 512 (aligned 512)
UBI: data offset: 2048
ata1: SATA link down (SStatus 0 SControl F300)
UBI: attached mtd2 to ubi0
UBI: MTD device name: "root"
UBI: MTD device size: 507 MiB
UBI: number of good PEBs: 4056
UBI: number of bad PEBs: 0
UBI: max. allowed volumes: 128
UBI: wear-leveling threshold: 4096
UBI: number of internal volumes: 1
UBI: number of user volumes: 1
UBI: available PEBs: 0
UBI: total number of reserved PEBs: 4056
UBI: number of PEBs reserved for bad PEB handling: 40
UBI: max/mean erase counter: 3/1
UBI: image sequence number: -1
UBI: background thread "ubi_bgt0d" started, PID 454
MV-643xx 10/100/1000 ethernet driver version 1.4
mv643xx_eth smi: probed
net eth0: port 0 with MAC address 00:00:00:00:00:00
net eth1: port 0 with MAC address 00:00:00:00:00:00
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
usb usb1: configuration #1 chosen from 1 choice
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.
usbcore: registered new interface driver ums-datafab
usbcore: registered new interface driver ums-freecom
usbcore: registered new interface driver ums-jumpshot
usbcore: registered new interface driver ums-sddr09
usbcore: registered new interface driver ums-sddr55
mice: PS/2 mouse device common for all mice
rtc-mv rtc-mv: rtc core: registered rtc-mv as rtc0
i2c /dev entries driver
cpuidle: using governor ladder
cpuidle: using governor menu
sdhci: Secure Digital Host Controller Interface driver
sdhci: Copyright(c) Pierre Ossman
mmc0: mvsdio driver initialized, lacking card detect (fall back to polling)
Registered led device: plug2l:red:health
Registered led device: plug2l:green:health
Registered led device: plug2l:red:wmode
Registered led device: plug2l:green:wmode
mv_xor_shared mv_xor_shared.0: Marvell shared XOR driver
mv_xor_shared mv_xor_shared.1: Marvell shared XOR driver
mmc0: new high speed SDIO card at address 0001
mv_xor mv_xor.0: Marvell XOR: ( xor cpy )
mv_xor mv_xor.1: Marvell XOR: ( xor fill cpy )
mv_xor mv_xor.2: Marvell XOR: ( xor cpy )
mv_xor mv_xor.3: Marvell XOR: ( xor fill cpy )
usbcore: registered new interface driver usbhid
usbhid: v2.6:USB HID core driver
oprofile: using timer interrupt.
TCP cubic registered
NET: Registered protocol family 17
lib80211: common routines for IEEE802.11 drivers
lib80211_crypt: registered algorithm 'NULL'
Gating clock of unused units
before: 0x00dfc3fd
after: 0x00cf41d9
rtc-mv rtc-mv: setting system clock to 2010-11-11 16:51:22 UTC (1289494282)
usb 1-1: new high speed USB device using orion-ehci and address 2
UBIFS: recovery needed
UBIFS: recovery completed
UBIFS: mounted UBI device 0, volume 0, name "rootfs"
UBIFS: file system size: 516225024 bytes (504126 KiB, 492 MiB, 4001 LEBs)
UBIFS: journal size: 9033728 bytes (8822 KiB, 8 MiB, 71 LEBs)
UBIFS: media format: w4/r0 (latest is w4/r0)
UBIFS: default compressor: zlib
UBIFS: reserved for root: 0 bytes (0 KiB)
VFS: Mounted root (ubifs filesystem) on device 0:13.
Freeing init memory: 148K
usb 1-1: configuration #1 chosen from 1 choice
hub 1-1:1.0: USB hub found
hub 1-1:1.0: 4 ports detected
usb 1-1.1: new high speed USB device using orion-ehci and address 3
usb 1-1.1: configuration #1 chosen from 1 choice
scsi1 : SCSI emulation for USB Mass Storage devices
usb-storage: device found at 3
usb-storage: waiting for device to settle before scanning
Bluetooth: Core ver 2.15
NET: Registered protocol family 31
Bluetooth: HCI device and connection manager initialized
Bluetooth: HCI socket layer initialized
libertas_sdio: Libertas SDIO driver
libertas_sdio: Copyright Pierre Ossman
libertas_sdio mmc0:0001:1: firmware: requesting sd8688_helper.bin
libertas: can't load helper firmware
libertas: failed to load helper firmware
libertas_sdio: probe of mmc0:0001:1 failed with error -2
Bluetooth: vendor=0x2df, device=0x9105, class=255, fn=2
btmrvl_sdio mmc0:0001:2: firmware: requesting sd8688_helper.bin
btmrvl_sdio_download_helper: request_firmware(helper) failed, error code = -2
btmrvl_sdio_download_fw: Failed to download helper!
btmrvl_sdio_probe: Downloading firmware failed!
scsi 1:0:0:0: Direct-Access Generic STORAGE DEVICE 9909 PQ: 0 ANSI: 0
sd 1:0:0:0: Attached scsi generic sg0 type 0
sd 1:0:0:0: [sda] Attached SCSI removable disk
scsi 1:0:0:1: Direct-Access Generic STORAGE DEVICE 9909 PQ: 0 ANSI: 0
sd 1:0:0:1: Attached scsi generic sg1 type 0
sd 1:0:0:1: [sdb] Attached SCSI removable disk
usb-storage: device scan complete
NET: Registered protocol family 10
ADDRCONF(NETDEV_UP): eth0: link is not ready
ADDRCONF(NETDEV_UP): eth1: link is not ready
uap_probe: vendor=0x02DF device=0x9104 class=0 function=1
uap_sdio mmc0:0001:1: firmware: requesting mrvl/helper_sd.bin
uap_sdio mmc0:0001:1: firmware: requesting mrvl/sd8688_ap.bin
UAP FW is active
ADDRCONF(NETDEV_UP): uap0: link is not ready
ip_tables: (C) 2000-2006 Netfilter Core Team
nf_conntrack version 0.5.0 (8022 buckets, 32088 max)
CONFIG_NF_CT_ACCT is deprecated and will be removed soon. Please use
nf_conntrack.acct=1 kernel parameter, acct=1 nf_conntrack module option or
sysctl net.netfilter.nf_conntrack_acct=1 to enable it.
Bluetooth: L2CAP ver 2.14
Bluetooth: L2CAP socket layer initialized
Bluetooth: RFCOMM TTY layer initialized
Bluetooth: RFCOMM socket layer initialized
Bluetooth: RFCOMM ver 1.11
Bluetooth: BNEP (Ethernet Emulation) ver 1.3
Bluetooth: vendor=0x2df, device=0x9105, class=255, fn=2
Bridge firewalling registered
Bluetooth: SCO (Voice Link) ver 0.6
Bluetooth: SCO socket layer initialized
reset hw
uap_func_shutdown:Hardware is not ready!
libertas_sdio: Libertas SDIO driver
libertas_sdio: Copyright Pierre Ossman
libertas_sdio mmc0:0001:1: firmware: requesting sd8688_helper.bin
libertas_sdio mmc0:0001:1: firmware: requesting sd8688.bin
libertas: 00:24:23:21:98:65, fw 10.38.3p49, cap 0x00000303
libertas: wlan0: Marvell WLAN 802.11 adapter
ADDRCONF(NETDEV_UP): wlan0: link is not ready
ADDRCONF(NETDEV_CHANGE): wlan0: link becomes ready
warning: `ntpd' uses 32-bit capabilities (legacy support in use)
pan0: no IPv6 routers present
wlan0: no IPv6 routers present
Unable to handle kernel NULL pointer dereference at virtual address 0000006e
pgd = de7d0000
[0000006e] *pgd=1e756031, *pte=00000000, *ppte=00000000
Internal error: Oops: 17 [#1] PREEMPT
last sysfs file: /sys/devices/platform/leds-gpio/leds/plug2l:green:wmode/brightness
Modules linked in: libertas_sdio libertas sco bridge stp llc btmrvl_sdio bnep btmrvl rfcomm l2cap xt_tcpudp iptable_filter ipt_MASQUERADE iptable_nat nf_nat nf_conntrack_ipv4 nf_conntrack nf_defrag_ipv4 ip_tables x_tables ipv6 bluetooth [last unloaded: uap8xxx]
CPU: 0 Not tainted (2.6.32-00007-g56678ec #1)
PC is at dnotify_flush+0x14/0x12c
LR is at filp_close+0x58/0x78
pc : [<c00eede8>] lr : [<c00bdaa0>] psr: 60000013
sp : de795f70 ip : de795f90 fp : beb828b4
r10: 00000017 r9 : de794000 r8 : de759580
r7 : df04e000 r6 : df04e000 r5 : de759580 r4 : 00000000
r3 : de529e40 r2 : de794000 r1 : df04e000 r0 : de759580
Flags: nZCv IRQs on FIQs on Mode SVC_32 ISA ARM Segment user
Control: 0005397f Table: 1e7d0000 DAC: 00000015
Process wget (pid: 2342, stack limit = 0xde794270)
Stack: (0xde795f70 to 0xde796000)
5f60: de759580 df04e000 00000000 c00bdaa0
5f80: 00000001 00000003 de794000 c00bec9c 00000000 00000003 000452e8 00000006
5fa0: c002db44 c002d9c0 00000000 00000003 00000003 402f46c7 00000000 000473be
5fc0: 00000000 00000003 000452e8 00000006 00000000 00000000 00000017 beb828b4
5fe0: 0004e8e0 beb827e0 0000afec 40284cbc 60000010 00000003 00000000 00000000
[<c00eede8>] (dnotify_flush+0x14/0x12c) from [<c00bdaa0>] (filp_close+0x58/0x78)
[<c00bdaa0>] (filp_close+0x58/0x78) from [<c00bec9c>] (sys_close+0x98/0xf4)
[<c00bec9c>] (sys_close+0x98/0xf4) from [<c002d9c0>] (ret_fast_syscall+0x0/0x28)
Code: e590300c e1a05000 e1a06001 e593400c (e1d436be)
---[ end trace 53f9cf2a2fdf54a7 ]---
guruplug-debian:/home/rfs/media#
If I then take wlan0 down and plug an ethernet cable in and re-run the test, it will execute happily in its loop until I stop it.
Does anyone have the guruplug working in wifi client mode?