nexmon – Rev 1
?pathlinks?
diff -ur ../rt2570-cvs-2005112305/Module/rtusb_data.c ./Module/rtusb_data.c
--- ../rt2570-cvs-2005112305/Module/rtusb_data.c 2005-11-04 23:53:18.000000000 +0100
+++ ./Module/rtusb_data.c 2005-11-23 14:44:16.000000000 +0100
@@ -1711,6 +1711,9 @@
struct sk_buff *skb;
if ((skb = __dev_alloc_skb(2048, GFP_DMA|GFP_ATOMIC)) != NULL)
{
+ if (pAdapter->PortCfg.MallowRFMONTx == TRUE)
+ goto rfmontx_80211_receive;
+
// setup the wlan-ng prismheader
if (skb_headroom(skb) < sizeof(wlan_ng_prism2_header))
@@ -1762,6 +1765,8 @@
// end prismheader setup
+ rfmontx_80211_receive:
+
skb->dev = pAdapter->net;
memcpy(skb_put(skb, pRxD->DataByteCnt-4), pData, pRxD->DataByteCnt-4);
skb->mac.raw = skb->data;
diff -ur ../rt2570-cvs-2005112305/Module/rtusb_info.c ./Module/rtusb_info.c
--- ../rt2570-cvs-2005112305/Module/rtusb_info.c 2005-11-20 22:54:28.000000000 +0100
+++ ./Module/rtusb_info.c 2005-11-23 14:51:47.000000000 +0100
@@ -277,7 +277,10 @@
pAdapter->PortCfg.BssType=BSS_MONITOR;
RTUSBEnqueueInternalCmd(pAdapter, RT_OID_LINK_DOWN);
pAdapter->bConfigChanged = TRUE;
- pAdapter->net->type = 802; // ARPHRD_IEEE80211_PRISM
+ if (pAdapter->PortCfg.MallowRFMONTx == TRUE)
+ pAdapter->net->type = 801; // ARPHRD_IEEE80211
+ else
+ pAdapter->net->type = 802; // ARPHRD_IEEE80211_PRISM
RTUSBWriteMACRegister(pAdapter, TXRX_CSR2, 0x4e);
break;
default:
@@ -1132,9 +1135,11 @@
{
case 1:
pAdapter->PortCfg.MallowRFMONTx = TRUE;
+ pAdapter->net->type = 801; // ARPHRD_IEEE80211
break;
case 0:
pAdapter->PortCfg.MallowRFMONTx = FALSE;
+ pAdapter->net->type = 802; // ARPHRD_IEEE80211_PRISM
break;
default:
return -EOPNOTSUPP;