From: Joseph K. <jp...@ro...> - 2009-11-24 18:01:21
|
Hi Bobby, A couple of issues .... and suggestions ... 1. Why is the wireless device coming up as eth2 instead of eth1 or wlan0? In original intention it should be eth1 and then remapped to wlan0 as per the bitbake recipes and script patch that was supplied for this in netbase and libertas-firmware (cf8385.init). 2. Try using the latest libertas firmware (for cf) files instead of the old (rather obsolete) ones that gumstix used in 2.6.21 for netpro-vx support? You can find this at: git clone git://git.kernel.org/pub/scm/linux/kernel/git/dwmw2/linux-firmware.git linux/kernel/git/dwmw2/linux-firmware.git/libertas The files are cf8385.bin and cf8385_helper.bin Rename them to the corresponding "libertas_cs.fw and libertas_cs_helper.fw" filenames in the target /lib/firmware/ folder. I recommend cloning the entire repository first in order to extract the files since directly downloading the binary files from the git web interface isn't very reliable (sometimes truncates/corrupts the files). Alternatively you can modify the libertas-cs bitbake recipe I previously supplied in order to retrieve the latest files from the above git repository instead of bringing in the files directly. (If you need the exact recipe, let me know and I will work it out myself and send it to you). 3. The git repository linked below differs somewhat from what I and others had prepared (based on overo git branch from org.openembedded.dev) and instead is using newer base code commit. There was some theory on other mailing list items (from overo) that the newer wpa-supplicant in 2.6.31 for example has introduced some timing changes that made the wifi unstable. Basically, from a root cause analysis perspective, I think we would need to determine why the f.w stops responding (and subsequently leads to the WD timer timeout). What triggers the initial problem in the driver logic? Is it always consistent at 30 minutes? What settings did you set in ifconfig for the txpower (is it auto?) etc to control the power management on the wifi device? I didn't dig into the code you used much, but did you patch the smsc911x driver to adjust the interrupt de-assertion timeout? I needed to adjust it from the original 100us to (22*10 =) 220us. This was always a requirement going back to the original gumstix driver as well. 4. There are also a libertas-dev and linux-wireless related mailing lists. You could try there: http://lists.infradead.org/mailman/listinfo/libertas-dev and http://marc.info/?l=linux-wireless Regards, Joseph ________________________________ From: Bobby Powers <bob...@gm...> To: General mailing list for gumstix users. <gum...@li...> Sent: Mon, November 23, 2009 10:43:05 PM Subject: [Gumstix-users] Verdex Pro wireless woes Hi folks, I'm working on project involving a Verdex Pro, Robostix and netpro-vx with the wireless module. I'm running a newer kernel (2.6.31 w/ Verdex patches [1]) which uses the libertas driver for the firmware. I've got an application that connects to a link-local server over the wireless and transmits a modest amount of data back and forth (the gumstix transmits at about 100kB/min, and receives at around 200kB/min) at a steady rate (tx happens at 20 hz). The problem is that the libertas driver hits a WARN within 30 minutes after starting this app and stops being able to transmit or receive. It seems the firmware on the card (which I got from [2]) stops responding to the libertas driver, the drivers tx queue fills up, tripping a watchdog function. 'Ejecting' the libertas card, clearing GPIO 80, unloading the libertas_cs and libertas modules, setting GPIO 80 and using pccardctl to insert the wireless module does allow me to start using wireless again. Has anyone dealt with this before? How does the stock Verdex Pro kernel deal with the Marvell firmware (and does it use the same tarball to extract the firmware from)? Does anyone have any ideas? This happens both under ad-hoc and managed modes, at both 54Mb/s and 11Mb/s bit rates, and with the base station set to either 802.11g and 802.11b modes. Any suggestions or insight would be fantastic. yours, Bobby [1] - available at http://repo.or.cz/w/linux-2.6/verdex.git/shortlog/refs/heads/verdexpro-2.6.31 [2] - http://files.gumstix.com/cf8385-5.0.16.p0-26306.tbz ~~~~~ Linux version 2.6.31.6.hart-00012-g3dc9f9a (bobby@...) (gcc version 4.1.2 20070925 (Red Hat 4.1.2-33.fa1)) #46 PREEMPT Thu Nov 19 00:23:39 EST 2009 CPU: XScale-PXA270 [69054117] revision 7 (ARMv5TE), cr=0000397f CPU: VIVT data cache, VIVT instruction cache Machine: Gumstix verdex Memory policy: ECC disabled, Data cache writeback On node 0 totalpages: 32768 free_area_init_node: node 0, pgdat c0312d00, node_mem_map c0326000 Normal zone: 256 pages used for memmap Normal zone: 0 pages reserved Normal zone: 32512 pages, LIFO batch:7 Run Mode clock: 208.00MHz (*16) Turbo Mode clock: 624.00MHz (*3.0, active) Memory clock: 104.00MHz (/2) System bus clock: 104.00MHz Built 1 zonelists in Zone order, mobility grouping on. Total pages: 32512 Kernel command line: console=ttyS0,115200n8 rootdelay=1 root=/dev/mmcblk0p2 PID hash table entries: 512 (order: 9, 2048 bytes) Dentry cache hash table entries: 16384 (order: 4, 65536 bytes) Inode-cache hash table entries: 8192 (order: 3, 32768 bytes) Memory: 128MB = 128MB total Memory: 126576KB available (2796K code, 203K data, 100K init, 0K highmem) Preemptible RCU implementation. NR_IRQS:192 Console: colour dummy device 80x30 Calibrating delay loop... 622.59 BogoMIPS (lpj=3112960) Mount-cache hash table entries: 512 CPU: Testing write buffer coherency: ok regulator: core version 0.5 NET: Registered protocol family 16 Gumstix verdex udc is disabled Gumstix verdex host usb ohci is disabled Initializing Gumstix verdex i2c Initializing Gumstix verdex pcmcia Not netCF-vx board: pcmcia using newer GPIO configuration CPLD responded with: 00 found 1 CF slots Initializing Gumstix platform_add_devices bio: create slab <bio-0> at 0 SCSI subsystem initialized I2C: i2c-0: PXA I2C adapter I2C: i2c-1: PXA I2C adapter Switched to high resolution mode on CPU 0 Registering gumstix PCMCIA interface. NET: Registered protocol family 2 IP route cache hash table entries: 1024 (order: 0, 4096 bytes) TCP established hash table entries: 4096 (order: 3, 32768 bytes) TCP bind hash table entries: 4096 (order: 2, 16384 bytes) TCP: Hash tables configured (established 4096 bind 4096) TCP reno registered NET: Registered protocol family 1 PXA CPU 27x max frequency not defined (pxa27x_maxfreq), assuming pxa271 with 416000kHz maxfreq cpufreq: Didn't find vcc_core regulator PXA CPU frequency change support initialized msgmni has been set to 247 alg: No test for stdrng (krng) alg: No test for stdrng (ansi_cprng) io scheduler noop registered io scheduler cfq registered (default) pxa2xx-uart.0: ttyS0 at MMIO 0x40100000 (irq = 22) is a FFUART console [ttyS0] enabled pxa2xx-uart.1: ttyS1 at MMIO 0x40200000 (irq = 21) is a BTUART pxa2xx-uart.2: ttyS2 at MMIO 0x40700000 (irq = 20) is a STUART loop: module loaded tun: Universal TUN/TAP device driver, 1.6 tun: (C) 1999-2004 Max Krasnyansky <ma...@qu...> pxa-rtc pxa-rtc: rtc core: registered pxa-rtc as rtc0 i2c /dev entries driver SA1100/PXA2xx Watchdog Timer: timer margin 60 sec cpuidle: using governor ladder cpuidle: using governor menu TCP cubic registered NET: Registered protocol family 17 lib80211: common routines for IEEE802.11 drivers lib80211_crypt: registered algorithm 'NULL' XScale iWMMXt coprocessor detected. pxa-rtc pxa-rtc: setting system clock to 2000-01-01 00:00:10 UTC (946684810) Waiting 1sec before mounting root device... mmc0: host does not support reading read-only switch. assuming write-enable. mmc0: new SD card at address a041 mmcblk0: mmc0:a041 SU02G 1.84 GiB mmcblk0: p1 p2 pcmcia_socket pcmcia_socket0: pccard: PCMCIA card inserted into slot 0 VFS: Mounted root (ext2 filesystem) on device 179:2. Freeing init memory: 100K pcmcia_socket pcmcia_socket0: pccard: card ejected from slot 0 pcmcia_socket pcmcia_socket0: pccard: PCMCIA card inserted into slot 0 pcmcia 0.0: pcmcia: registering new device pcmcia0.0 libertas_cs 0.0: firmware: requesting libertas_cs_helper.fw libertas_cs 0.0: firmware: requesting libertas_cs.fw libertas: 00:0b:6b:0d:b8:e5, fw 5.0.16p0, cap 0x00000393 libertas: PREP_CMD: command 0x00a3 failed: 2 libertas: PREP_CMD: command 0x00a3 failed: 2 libertas: eth0: Marvell WLAN 802.11 adapter udev: renamed network interface eth0 to eth2 ------------[ cut here ]------------ WARNING: at net/sched/sch_generic.c:246 dev_watchdog+0x190/0x2a0() NETDEV WATCHDOG: eth2 (libertas_cs): transmit queue 0 timed out Modules linked in: libertas_cs libertas [<c0027be8>] (unwind_backtrace+0x0/0xd4) from [<c0034a64>] (warn_slowpath_common+0x4c/0x68) [<c0034a64>] (warn_slowpath_common+0x4c/0x68) from [<c0034abc>] (warn_slowpath_fmt+0x28/0x38) [<c0034abc>] (warn_slowpath_fmt+0x28/0x38) from [<c01f4ca4>] (dev_watchdog+0x190/0x2a0) [<c01f4ca4>] (dev_watchdog+0x190/0x2a0) from [<c003e1b8>] (run_timer_softirq+0x164/0x21c) [<c003e1b8>] (run_timer_softirq+0x164/0x21c) from [<c0039ce0>] (__do_softirq+0x80/0x110) [<c0039ce0>] (__do_softirq+0x80/0x110) from [<c003a038>] (irq_exit+0x44/0x9c) [<c003a038>] (irq_exit+0x44/0x9c) from [<c0021070>] (asm_do_IRQ+0x70/0x8c) [<c0021070>] (asm_do_IRQ+0x70/0x8c) from [<c0021a04>] (__irq_svc+0x44/0xe4) Exception stack(0xc02f3f80 to 0xc02f3fc8) 3f80: 00000001 c5c6831e 01614d1e 60000013 c02f2000 c0313560 c001ee10 c02f5b18 3fa0: a001ca78 69054117 a001ca44 00000000 c02f3f08 c02f3fc8 c00234b0 c00234bc 3fc0: 60000013 ffffffff [<c0021a04>] (__irq_svc+0x44/0xe4) from [<c00234bc>] (default_idle+0x2c/0x34) [<c00234bc>] (default_idle+0x2c/0x34) from [<c002339c>] (cpu_idle+0x5c/0xb4) [<c002339c>] (cpu_idle+0x5c/0xb4) from [<c00089f4>] (start_kernel+0x27c/0x2e8) [<c00089f4>] (start_kernel+0x27c/0x2e8) from [<a0008034>] (0xa0008034) ---[ end trace 733fd693c57bccf1 ]--- libertas: tx watch dog timeout libertas: command 0x0010 timed out libertas: requeueing command 0x0010 due to timeout (#1) libertas: tx watch dog timeout libertas: command 0x0010 timed out libertas: requeueing command 0x0010 due to timeout (#2) libertas: command 0x0010 timed out libertas: requeueing command 0x0010 due to timeout (#3) libertas: command 0x0010 timed out libertas: Excessive timeouts submitting command 0x0010 libertas: tx watch dog timeout libertas: command 0x001f timed out libertas: requeueing command 0x001f due to timeout (#1) libertas: tx watch dog timeout libertas: command 0x001f timed out libertas: requeueing command 0x001f due to timeout (#2) libertas: command 0x001f timed out libertas: requeueing command 0x001f due to timeout (#3) libertas: command 0x001f timed out libertas: Excessive timeouts submitting command 0x001f .... (requeueing command 0x001f continues indefintely) ifconfig eth2 Link encap:Ethernet HWaddr 00:0b:6b:0d:b8:e5 inet addr:192.168.8.92 Bcast:192.168.8.255 Mask:255.255.255.0 UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1 RX packets:36362 errors:0 dropped:0 overruns:0 frame:0 TX packets:25468 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:1000 RX bytes:6364828 (6.0 MiB) TX bytes:3283219 (3.1 MiB) ------------------------------------------------------------------------------ Let Crystal Reports handle the reporting - Free Crystal Reports 2008 30-Day trial. Simplify your report design, integration and deployment - and focus on what you do best, core application coding. Discover what's new with Crystal Reports now. http://p.sf.net/sfu/bobj-july _______________________________________________ gumstix-users mailing list gum...@li... https://lists.sourceforge.net/lists/listinfo/gumstix-users |