libertas: command 1f timed out error

Ram kumar ramkumar.research at gmail.com
Tue Sep 23 02:21:37 EDT 2008


hi,
       When i connect my SDIO wireless module to my eval kit at91sam9260,

The marvel 8686 SDIO module is not able to get a ip address from my
Access point through DHCP.

Whereas the same marvell 8686 SDIO module is able to set static ip
through the Access point.

when i type

# dhclient eth1

 this is my output...

Internet Systems Consortium DHCP Client V3.0.5
Copyright 2004-2006 Internet Systems Consortium.
All rights reserved.
For info, please visit http://www.isc.org/sw/dhcp/

Listening on LPF/eth1/00:19:88:05:10:17
Sending on   LPF/eth1/00:19:88:05:10:17
Sending on   Socket/fallback
DHCPDISCOVER on eth1 to 255.255.255.255 port 67 interval 7
DHCPDISCOVER on eth1 to 255.255.255.255 port 67 interval 13
DHCPDISCOVER on eth1 to 255.255.255.255 port 67 interval 17
NETDEV WATCHDOG: eth1: transmit timed out
libertas: tx watch dog timeout
libertas: Command 1f timed out
libertas: requeueing command 1f due to timeout (#1)
DHCPDISCOVER on eth1 to 255.255.255.255 port 67 interval 14
NETDEV WATCHDOG: eth1: transmit timed out
libertas: tx watch dog timeout
libertas: Command 1f timed out
libertas: requeueing command 1f due to timeout (#2)
NETDEV WATCHDOG: eth1: transmit timed out
libertas: tx watch dog timeout
DHCPDISCOVER on eth1 to 255.255.255.255 port 67 interval 10
libertas: Command 1f timed out
libertas: requeueing command 1f due to timeout (#3)


I dont know why this is happening....Is it because of the marvell
firmware doesn't support some commands sent by the libertas driver
????

Initially when i load the libertas driver,i get some error
message....like this...I guess it is related to some Mesh function....

# modprobe at91_mci
mmc0: new SDIO card at address 0001
# modprobe libertas_sdio
libertas_sdio: Libertas SDIO driver
libertas_sdio: Copyright Pierre Ossman
libertas: 00:19:88:05:10:17, fw 8.73.7p3, cap 0x00000393
libertas: PREP_CMD: command 0x00a3 failed: 2
libertas: PREP_CMD: command 0x00a3 failed: 2
libertas: eth1: Marvell WLAN 802.11 adapter

Is it becuase of these command failure the module is not able to get a
DHCP address from AP ????

Here is output of iwconfig and ifconfig for my module.....

# iwconfig
lo        no wireless extensions.

eth0      no wireless extensions.

eth1      IEEE 802.11b/g  ESSID:"WA1003A"
          Mode:Managed  Frequency:2412 GHz  Access Point: 00:50:F1:12:12:10
          Bit Rate:1 Mb/s   Tx-Power=13 dBm
          Retry limit:8   RTS thr=2347 B   Fragment thr=2346 B
          Encryption key:EEEE-EEEE-EE   Security mode:open
          Power Management:off
          Link Quality=83/100  Signal level=-55 dBm  Noise level=-88 dBm
          Rx invalid nwid:0  Rx invalid crypt:3115  Rx invalid frag:320
          Tx excessive retries:0  Invalid misc:0   Missed beacon:0


# ifconfig
eth0      Link encap:Ethernet  HWaddr 00:D0:93:00:05:E3
          inet addr:192.168.0.41  Bcast:192.168.0.255  Mask:255.255.255.0
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:13253 errors:1 dropped:0 overruns:0 frame:0
          TX packets:12368 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:3896128 (3.7 MiB)  TX bytes:2367424 (2.2 MiB)
          Interrupt:21 Base address:0x4000

eth1      Link encap:Ethernet  HWaddr 00:19:88:05:10:17
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:1 errors:0 dropped:0 overruns:0 frame:0
          TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:90 (90.0 B)  TX bytes:0 (0.0 B)

lo        Link encap:Local Loopback
          inet addr:127.0.0.1  Mask:255.0.0.0
          UP LOOPBACK RUNNING  MTU:16436  Metric:1
          RX packets:0 errors:0 dropped:0 overruns:0 frame:0
          TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0
          RX bytes:0 (0.0 B)  TX bytes:0 (0.0 B)

I have applied this libertas patch in order to ease the firmware download.....

--- net-2.6.25.orig/drivers/net/wireless/libertas/if_sdio.c	2008-01-26
23:05:46.000000000 +0100
+++ net-2.6.25/drivers/net/wireless/libertas/if_sdio.c	2008-01-28
10:34:15.000000000 +0100
@@ -280,6 +280,8 @@
 	 * The transfer must be in one transaction or the firmware
 	 * goes suicidal.
 	 */
+	/* round up size to next multiple of 4 */
+	size = (size + 3) & ~3;
 	chunk = size;
 	if ((chunk > card->func->cur_blksize) || (chunk > 512)) {
 		chunk = (chunk + card->func->cur_blksize - 1) /
@@ -711,6 +713,8 @@
 	 * goes suicidal.
 	 */
 	size = nb + 4;
+	/* round up to next multiple of 4 */
+	size = (size + 3) & ~3;
 	if ((size > card->func->cur_blksize) || (size > 512)) {
 		size = (size + card->func->cur_blksize - 1) /
 			card->func->cur_blksize * card->func->cur_blksize;

Is it because of this patch the module is not able to get a ipaddress
from the DHCP of the AP ????

My /etc/dhcp/dhclient.conf file has the following contents....

request subnet-mask, broadcast-address, time-offset, routers,
	domain-name, domain-name-servers, host-name,
	netbios-name-servers, netbios-scope;

Do i have to add anything in this file(dhclient.conf) in order to get
the ipaddress from the DHCP of the AP ???

Please guide me....to overcome this error ????...

Please tell me whether it is because of the firmware or the libertas
driver or because of the poor configuration of the dhclient ??

If there is any patch or some other marvell firmware to overcome this
error....Please refer me the link ????

Regards,
Ram



More information about the libertas-dev mailing list