With the previous fix, I am able to run Airlin 101 usb dongle
with my home wifi gateway. However, I notice there are quite
a bit errors and frame errors. I traced the errors. It mostly comes
from packet too short. Apparently the packet has a size of 22 instead
the expected minimum 24.
jsun: zd_mac_rx(33), len too short, 22 vs. 24
d9 51 02 f5 26 48 64 59 63 8f 9d c0 99 09 2a cc 83 13 0a 21 00 b1
# ifconfig
eth0 Link encap:Ethernet HWaddr 00:11:A3:03:BC:9A
inet addr:192.168.1.125 Bcast:192.168.1.255 Mask:255.255.255.0
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:84 errors:53 dropped:0 overruns:7 frame:46
TX packets:24 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:3713 (3.6 kiB) TX bytes:1084 (1.0 kiB)
I also copied the related code segments for easier reference. Anybody know
what the problem is?
Cheers.
Jun
-
static void zd_mac_rx(struct zd_mac *mac, struct sk_buff *skb)
{
int r;
struct ieee80211_device *ieee = zd_mac_to_ieee80211(mac);
struct ieee80211_rx_stats stats;
const struct rx_status *status;
static int js_flag2;
if (skb->len < ZD_PLCP_HEADER_SIZE + IEEE80211_1ADDR_LEN +
IEEE80211_FCS_LEN + sizeof(struct rx_status))
{
ieee->stats.rx_errors++;
ieee->stats.rx_length_errors++;
if ((js_flag2++ % 16) == 0) {
printk("jsun: zd_mac_rx(%d), len too short, %d vs. %d\n",
js_flag2, skb->len, ZD_PLCP_HEADER_SIZE + IEEE80211_1ADDR_LEN +
IEEE80211_FCS_LEN + sizeof(struct rx_status));
jsun_print_stream(skb->data, skb->len);
}
goto free_skb;
}
-
SF.Net email is sponsored by: The Future of Linux Business White Paper
from Novell. From the desktop to the data center, Linux is going
mainstream. Let it simplify your IT future.
http://altfarm.mediaplex.com/ad/ck/8857-50307-18918-4
___
Zd1211-devs mailing list - http://zd1211.wiki.sourceforge.net/
Unsubscribe: https://lists.sourceforge.net/lists/listinfo/zd1211-devs