summaryrefslogtreecommitdiff
path: root/packages/zd1211
diff options
context:
space:
mode:
authorOyvind Repvik <nail@nslu2-linux.org>2006-01-22 11:59:39 +0000
committerOpenEmbedded Project <openembedded-devel@lists.openembedded.org>2006-01-22 11:59:39 +0000
commitb3959eacd7022f8fa819a488ae624ae479d7d84b (patch)
tree4678726fe63fef2f9d57621ff3a554b5be3c8e9e /packages/zd1211
parentb23d1cb9a50613922861d94f8ff24005656877c3 (diff)
zd1211: Remove old driver, add new (maintained) driver
Diffstat (limited to 'packages/zd1211')
-rw-r--r--packages/zd1211/zd1211-4916/copy-break.patch11
-rw-r--r--packages/zd1211/zd1211-4916/explicit-key-change.patch24
-rw-r--r--packages/zd1211/zd1211-4916/get-stats.patch77
-rw-r--r--packages/zd1211/zd1211-4916/makefile.patch28
-rw-r--r--packages/zd1211/zd1211-4916/syntax.patch20
-rw-r--r--packages/zd1211/zd1211-4916/usb-endian.patch298
-rw-r--r--packages/zd1211/zd1211-4916/usb-ids.patch21
-rw-r--r--packages/zd1211/zd1211-r51/.mtn2git_empty (renamed from packages/zd1211/zd1211-4916/.mtn2git_empty)0
-rw-r--r--packages/zd1211/zd1211-r51/makefile.patch57
-rw-r--r--packages/zd1211/zd1211_4916.bb35
-rw-r--r--packages/zd1211/zd1211_r51.bb31
11 files changed, 88 insertions, 514 deletions
diff --git a/packages/zd1211/zd1211-4916/copy-break.patch b/packages/zd1211/zd1211-4916/copy-break.patch
deleted file mode 100644
index a08c543550..0000000000
--- a/packages/zd1211/zd1211-4916/copy-break.patch
+++ /dev/null
@@ -1,11 +0,0 @@
---- zd1211-4916-r0/src/zd1205.c.cborig 2005-03-08 14:20:22.846179000 -0800
-+++ zd1211-4916-r0/src/zd1205.c 2005-03-08 14:21:09.432096896 -0800
-@@ -267,7 +267,7 @@
- zd1205_SwTcbQ_t free_txq_buf, active_txq_buf;
- struct net_device *g_dev;
- zd_80211Obj_t dot11Obj = {0};
--#define RX_COPY_BREAK 0//1518 //we do bridge, don't care IP header alignment
-+#define RX_COPY_BREAK MAX_WLAN_SIZE //It doesn't appear that unaligned frames work with TCP/UDP beyond a certain size
- #define BEFORE_BEACON 5
- /* Definition of Wireless Extension */
-
diff --git a/packages/zd1211/zd1211-4916/explicit-key-change.patch b/packages/zd1211/zd1211-4916/explicit-key-change.patch
deleted file mode 100644
index ef01f3cb3e..0000000000
--- a/packages/zd1211/zd1211-4916/explicit-key-change.patch
+++ /dev/null
@@ -1,24 +0,0 @@
---- zd1211-4916-r0/src/zd1205.c.korig 2005-03-04 13:45:07.000000000 -0800
-+++ zd1211-4916-r0/src/zd1205.c 2005-03-08 10:43:26.304994072 -0800
-@@ -5528,7 +5528,8 @@
- /* Check if the key is not marked as invalid */
-
- if (!(erq->flags & IW_ENCODE_NOKEY)){
-- pSetting->EncryKeyId = index;
-+ // Only change the current keyid when explicitly asked
-+ // pSetting->EncryKeyId = index;
-
-
- memcpy(&pSetting->keyVector[index][0], key, pSetting->WepKeyLen);
---- zd1211-4916-r0/src/zd1211.c.orig 2005-03-08 17:15:24.085747960 -0800
-+++ zd1211-4916-r0/src/zd1211.c 2005-03-08 17:05:02.044312632 -0800
-@@ -3423,8 +3423,8 @@
- //update card setting
-
- if (test_bit(KEVENT_UPDATE_SETTING, &macp->kevent_flags)){
-- zd_UpdateCardSetting(&macp->cardSetting);
- clear_bit(KEVENT_UPDATE_SETTING, &macp->kevent_flags);
-+ zd_UpdateCardSetting(&macp->cardSetting);
- }
-
-
diff --git a/packages/zd1211/zd1211-4916/get-stats.patch b/packages/zd1211/zd1211-4916/get-stats.patch
deleted file mode 100644
index 0525522b43..0000000000
--- a/packages/zd1211/zd1211-4916/get-stats.patch
+++ /dev/null
@@ -1,77 +0,0 @@
---- zd1211-4916-r0/src/zd1205.h.orig 2005-01-28 22:55:15.000000000 -0800
-+++ zd1211-4916-r0/src/zd1205.h 2005-03-04 13:41:16.879006208 -0800
-@@ -611,6 +611,9 @@
- ***************************************************************************/
- struct driver_stats {
- struct net_device_stats net_stats;
-+#ifdef CONFIG_NET_WIRELESS
-+ struct iw_statistics iw_stats;
-+#endif
- unsigned long tx_late_col;
- unsigned long tx_ok_defrd;
- unsigned long tx_one_retry;
---- zd1211-4916-r0/src/zd1205.c.orig 2005-03-03 18:43:48.000000000 -0800
-+++ zd1211-4916-r0/src/zd1205.c 2005-03-04 13:45:07.134002128 -0800
-@@ -4196,6 +4196,42 @@
- return &(macp->drv_stats.net_stats);
- }
-
-+/**
-+ * zd1205wext_iw_get_stats - get driver statistics
-+
-+ * @dev: adapter's net_device struct
-+ *
-+ * This routine is called when the OS wants the adapter's wireless
-+ * stats returned. It returns the address of the iw_statistics
-+ * stucture for the device. If the statistics are currently being
-+ * updated, then they might be incorrect for a short while. However,
-+ * since this cannot actually cause damage, no locking is used.
-+ */
-+#if WIRELESS_EXT > 12
-+struct iw_statistics *
-+zd1205wext_iw_get_stats(struct net_device *dev)
-+{
-+ struct zd1205_private *macp = dev->priv;
-+ struct iw_statistics *iw_stats = &macp->drv_stats.iw_stats;
-+
-+ iw_stats->qual.noise = 161;
-+ iw_stats->qual.qual = 0;//macp->rxInfo.rxSignalQuality;
-+ iw_stats->qual.level = 0;//macp->rxInfo.rxSignalStrength;
-+ iw_stats->qual.updated = 7;
-+
-+ iw_stats->discard.nwid = 0;
-+ iw_stats->discard.code = 0;
-+ iw_stats->discard.fragment = 0;
-+ iw_stats->discard.retries = macp->retryFailCnt;
-+ iw_stats->discard.misc = macp->DropFirstFragCnt + macp->ErrLongFrmCnt +
-+ macp->ErrShortFrmCnt + macp->ErrZeroLenFrmCnt;
-+
-+ iw_stats->miss.beacon = 0;
-+
-+ return iw_stats;
-+}
-+#endif
-+
-
- /**
- * zd1205_set_mac - set the MAC address
---- zd1211-4916-r0/src/zd1211.c.orig 2005-03-03 18:43:49.000000000 -0800
-+++ zd1211-4916-r0/src/zd1211.c 2005-03-04 13:44:31.122476712 -0800
-@@ -1873,6 +1873,9 @@
- #define ZD1211_TX_TIMEOUT (HZ*10)
- #define ZD1211_MTU 1500
- extern struct iw_handler_def p80211wext_handler_def;
-+#ifdef CONFIG_NET_WIRELESS
-+extern struct iw_statistics *zd1205wext_iw_get_stats(struct net_device *);
-+#endif
-
- u8 zd1211_InitSetup(struct net_device *dev, struct zd1205_private *macp)
-
-@@ -1964,6 +1967,7 @@
-
- #if WIRELESS_EXT > 12
- dev->wireless_handlers = (struct iw_handler_def *)&p80211wext_handler_def;
-+ dev->get_wireless_stats = &zd1205wext_iw_get_stats;
- #endif
-
- dev->hard_start_xmit = zd1205_xmit_frame;
diff --git a/packages/zd1211/zd1211-4916/makefile.patch b/packages/zd1211/zd1211-4916/makefile.patch
deleted file mode 100644
index a01cb085bc..0000000000
--- a/packages/zd1211/zd1211-4916/makefile.patch
+++ /dev/null
@@ -1,28 +0,0 @@
---- zd1211-4916-r0/Makefile.orig 2005-01-28 22:55:15.000000000 -0800
-+++ zd1211-4916-r0/Makefile 2005-02-18 17:03:09.009560224 -0800
-@@ -11,12 +11,12 @@
-
-
- # if the kernel is 2.6.x, trun on this
--KERN_26=y
--KERNEL_SOURCE=/usr/src/linux-2.6.7
-+#KERN_26=y
-+#KERNEL_SOURCE=/usr/src/linux-2.6.7
-
- # if the kernel is 2.4.x, trun on this
--#KERN_24=y
--#KERNEL_SOURCE=/usr/src/linux-2.4.24
-+KERN_24=y
-+KERNEL_SOURCE=/usr/src/linux-2.4.24
-
- SRC_DIR=src
- DEFINES=-D__KERNEL__ -DMODULE=1
-@@ -154,7 +154,7 @@
- all: $(MODULE)
-
- $(MODULE): $(OBJECTS)
-- ld -r $(OBJECTS) -o $(MODULE)
-+ $(LD) -r $(OBJECTS) -o $(MODULE)
- chmod -x $(MODULE)
-
- %.o: %.c
diff --git a/packages/zd1211/zd1211-4916/syntax.patch b/packages/zd1211/zd1211-4916/syntax.patch
deleted file mode 100644
index 969839e8dd..0000000000
--- a/packages/zd1211/zd1211-4916/syntax.patch
+++ /dev/null
@@ -1,20 +0,0 @@
---- zd1211-4916-r0/src/zd1205.c.orig 2005-01-28 22:55:14.000000000 -0800
-+++ zd1211-4916-r0/src/zd1205.c 2005-02-18 17:40:39.136488936 -0800
-@@ -5182,6 +5182,7 @@
-
-
- exit:
-+ 1;
- //read_unlock(&(macp->isolate_lock));
-
- }
---- zd1211-4916-r0/src/zdhci.c.orig 2005-01-28 22:55:15.000000000 -0800
-+++ zd1211-4916-r0/src/zdhci.c 2005-02-18 21:01:45.426134088 -0800
-@@ -10,6 +10,7 @@
- #define MAX_CHANNEL_ALLOW 13
- zd_80211Obj_t *pdot11Obj = 0;
- U16 CurrScanCH = 1;
-+void zd_ChooseAP(void);
-
- BOOLEAN zd_SendPkt(U8 *pEthHdr, U8 *pBody, U32 bodyLen, void *buf, U8 bEapol, void *pHash)
- {
diff --git a/packages/zd1211/zd1211-4916/usb-endian.patch b/packages/zd1211/zd1211-4916/usb-endian.patch
deleted file mode 100644
index f2516ff783..0000000000
--- a/packages/zd1211/zd1211-4916/usb-endian.patch
+++ /dev/null
@@ -1,298 +0,0 @@
-diff -ur zdold/Makefile zd1211-4916-r0/Makefile
---- zdold/Makefile 2005-02-18 21:58:36.000000000 -0800
-+++ zd1211-4916-r0/Makefile 2005-02-28 17:59:05.000000000 -0800
-@@ -149,7 +149,7 @@
- CFLAGS += -DfNEW_CODE_MAP=1
- CFLAGS += -DfWRITE_WORD_REG=1
- CFLAGS += -DfREAD_MUL_REG=1
--#CFLAGS += -DENHANCE_RX=1
-+CFLAGS += -DENHANCE_RX=1
-
- all: $(MODULE)
-
-diff -ur zdold/src/zd1211.c zd1211-4916-r0/src/zd1211.c
---- zdold/src/zd1211.c 2005-01-28 22:55:15.000000000 -0800
-+++ zd1211-4916-r0/src/zd1211.c 2005-03-01 14:41:07.003613776 -0800
-@@ -429,16 +429,16 @@
- memset(pRegBuffer, 0x0, size);
-
-
-- ((PUSB_WRITE_REG)pRegBuffer)->RequestID = REGID_PROG_FLSH;
-- ((PUSB_SET_RF) pRegBuffer)->Value = Value[0];
-- ((PUSB_SET_RF) pRegBuffer)->Index = Value[1];
-+ ((PUSB_WRITE_REG)pRegBuffer)->RequestID = cpu_to_le16(REGID_PROG_FLSH);
-+ ((PUSB_SET_RF) pRegBuffer)->Value = cpu_to_le16(Value[0]);
-+ ((PUSB_SET_RF) pRegBuffer)->Index = cpu_to_le16(Value[1]);
-
-
-
-
-
- for (ii = 2; ii < RegCount; ii ++)
-- ((PUSB_SET_RF)pRegBuffer)->Data[ii - 2] = Value[ii];
-+ ((PUSB_SET_RF)pRegBuffer)->Data[ii - 2] = cpu_to_le16(Value[ii]);
-
-
- bufSize = sizeof(u16) * (1+RegCount);
-@@ -513,7 +513,7 @@
- }else
- memset(pRegBuffer, 0x0, size);
-
-- ((PUSB_READ_REG_REQ)pRegBuffer)->RequestID = REGID_READ;
-+ ((PUSB_READ_REG_REQ)pRegBuffer)->RequestID = cpu_to_le16(REGID_READ);
-
-
-
-@@ -526,7 +526,7 @@
- else if ((Address[ii] & BASE_ADDR_MASK_HOST) == USB_BASE_ADDR_EEPROM)
- Address[ii] = ((Address[ii] - USB_BASE_ADDR_EEPROM) / 2) + cFIRMWARE_EEPROM_OFFSET;
- //0x9900 //0xF817
-- ((PUSB_READ_REG_REQ) pRegBuffer)->Address[ii] = Address[ii];
-+ ((PUSB_READ_REG_REQ) pRegBuffer)->Address[ii] = cpu_to_le16(Address[ii]);
-
- }
-
-@@ -608,7 +608,7 @@
- }
- else {
- for (ii = 0; ii < (macp->ReadRegCount-2) / 4; ii++){
-- pValue[ii] = *((u16 *) macp->IntEPBuffer2 + 1 + ii * 2 + 1);
-+ pValue[ii] = le16_to_cpu(*((u16 *) macp->IntEPBuffer2 + 1 + ii * 2 + 1));
- }
- ret = 0;
-
-@@ -686,7 +686,7 @@
- }
-
- down(&macp->reg_sem);
--
-+
-
-
- if ((RegCount == 0) || (!macp->bUSBDeveiceAttached) || !test_bit(ZD1211_RUNNING, &macp->flags)) {
-@@ -712,7 +712,7 @@
-
-
-
-- ((PUSB_WRITE_REG)pRegBuffer)->RequestID = REGID_WRITE;
-+ ((PUSB_WRITE_REG)pRegBuffer)->RequestID = cpu_to_le16(REGID_WRITE);
-
- if (RegCount > cMIN_MULTI_WRITE_REG_NUM){
- for (i=cMIN_MULTI_WRITE_REG_NUM; i<RegCount; i++){
-@@ -724,8 +724,8 @@
- else if ((Address[i] & BASE_ADDR_MASK_HOST) == USB_BASE_ADDR_EEPROM)
- Address[i] = ((Address[i] - USB_BASE_ADDR_EEPROM) / 2) + cFIRMWARE_EEPROM_OFFSET;
-
-- ((PUSB_WRITE_REG)pRegBuffer)->WritePackage[i].Address = Address[i];
-- ((PUSB_WRITE_REG)pRegBuffer)->WritePackage[i].WriteData_low = Value[i];
-+ ((PUSB_WRITE_REG)pRegBuffer)->WritePackage[i].Address = cpu_to_le16(Address[i]);
-+ ((PUSB_WRITE_REG)pRegBuffer)->WritePackage[i].WriteData_low = cpu_to_le16(Value[i]);
- }
- }
-
-@@ -1726,17 +1726,17 @@
-
-
-
-- ((PUSB_SET_RF)pRegBuffer)->RequestID = REGID_RFOFDMSET;
-+ ((PUSB_SET_RF)pRegBuffer)->RequestID = cpu_to_le16(REGID_RFOFDMSET);
-
- if (bIs3683A)
-- ((PUSB_SET_RF)pRegBuffer)->Value = 1;
-+ ((PUSB_SET_RF)pRegBuffer)->Value = cpu_to_le16(1);
- else
-- ((PUSB_SET_RF)pRegBuffer)->Value = 2;
-+ ((PUSB_SET_RF)pRegBuffer)->Value = cpu_to_le16(2);
-
-- ((PUSB_SET_RF)pRegBuffer)->Index = (u16)S_bit_cnt;
-+ ((PUSB_SET_RF)pRegBuffer)->Index = cpu_to_le16((u16)S_bit_cnt);
-
- for (i = 0; i < S_bit_cnt; i ++)
-- ((PUSB_SET_RF)pRegBuffer)->Data[i] = InputValue[i];
-+ ((PUSB_SET_RF)pRegBuffer)->Data[i] = cpu_to_le16(InputValue[i]);
-
-
- bufSize = sizeof(u16) * (3+S_bit_cnt);
-@@ -2229,7 +2229,7 @@
-
-
-
-- ZD1211DEBUG(4, "actual_length = %x\n", urb->actual_length);
-+ ZD1211DEBUG(2, "actual_length = %x\n", urb->actual_length);
-
-
- rx_struct = list_entry(macp->active_rx_list.next,
-@@ -2266,7 +2266,7 @@
- if (last_pkt_len <= (macp->wMaxPacketSize - 4)){
-
-
-- if (((u16 *) pRxBuffer)[TotalLength / sizeof(u16) - 1] == 0x697E){
-+ if (le16_to_cpu(((u16 *) pRxBuffer)[TotalLength / sizeof(u16) - 1]) == 0x697E){
-
- total_rx_struct = 3;
- //ZD1211DEBUG(0, "Got merged Rx Frames!!\n");
-@@ -2288,8 +2288,8 @@
- int CurFrmLen;
-
- if (total_rx_struct> 1){
-- CurFrmLen = ((u16 *) pRxBuffer)[TotalLength / sizeof(u16) + i - 4];
-- //ZD1211DEBUG(2, "CurFrmLen = %x\n", CurFrmLen);
-+ CurFrmLen = le16_to_cpu(((u16 *) pRxBuffer)[TotalLength / sizeof(u16) + i - 4]);
-+ //ZD1211DEBUG(2, "[RX] CurFrmLen = %x\n", CurFrmLen);
- }
-
- else
-@@ -2316,22 +2316,22 @@
-
-
-
-- rfd->CbStatus = RFD_STATUS_COMPLETE;
-- rfd->ActualCount = CurFrmLen;
-+ rfd->CbStatus = cpu_to_le32(RFD_STATUS_COMPLETE);
-+ rfd->ActualCount = cpu_to_le32(CurFrmLen);
-
-
- if (i > 0){
- memcpy(&rfd->RxBuffer[macp->rxOffset],
- pRxBuffer + tmpLen,
-- rfd->ActualCount);
-+ CurFrmLen);
-
- }
-
-
-- tmpLen += (rfd->ActualCount & ~0x03);
-+ tmpLen += (CurFrmLen & ~0x03);
-
-
-- if (rfd->ActualCount & 0x03)
-+ if (CurFrmLen & 0x03)
- tmpLen += 4;
-
- }
-@@ -2361,8 +2361,8 @@
-
- #else
-
-- rfd->CbStatus = RFD_STATUS_COMPLETE;
-- rfd->ActualCount = TotalLength;
-+ rfd->CbStatus = cpu_to_le32(RFD_STATUS_COMPLETE);
-+ rfd->ActualCount = cpu_to_le32(TotalLength);
- zd1205_rx_isr(macp);
- #endif
-
-@@ -2521,8 +2521,8 @@
- // this is USB_READ_REGISTER response
- macp->ReadRegCount = (u16)actual_length;
-
-- intNum = *(u16 *)(macp->IntEPBuffer+2);
-- //intNum = macp->IntEPBuffer[2] + (((u16)macp->IntEPBuffer[3]) << 8);
-+ //intNum = *(u16 *)(macp->IntEPBuffer+2);
-+ intNum = macp->IntEPBuffer[2] + (((u16)macp->IntEPBuffer[3]) << 8);
-
- if (intNum == (InterruptCtrl | macp->USBCSRAddress)){
- // Handle non-RxTx interrupt
-@@ -2549,8 +2549,8 @@
- case EPINT_RetryFial_Event:
- {
- u8 *pMacAddr = macp->IntEPBuffer + 4;
-- u8 NewRate = (u8)(*(u16 *)(macp->IntEPBuffer + 2));
-- //u8 NewRate = macp->IntEPBuffer[2];
-+ //u8 NewRate = (u8)(*(u16 *)(macp->IntEPBuffer + 2));
-+ u8 NewRate = (u8)macp->IntEPBuffer[2];
- u16 aid;
-
-
-@@ -2568,7 +2568,7 @@
- //ZD1211DEBUG(2, "NewRate = %x\n", NewRate);
- aid = zd_AidLookUp(pMacAddr);
- zd_EventNotify(EVENT_TX_COMPLETE, ZD_RETRY_FAILED, 0xff, (U32)aid);
-- macp->retryFailCnt += *(u16 *)(macp->IntEPBuffer + 10);
-+ macp->retryFailCnt += le16_to_cpu(*(u16 *)(macp->IntEPBuffer + 10));
- break;
-
- }
-@@ -2634,7 +2634,7 @@
- // in current design, no need to use spinlock
-
-
-- intr_status = *(u16 *)(macp->IntEPBuffer3+4);
-+ intr_status = le16_to_cpu(*(u16 *)(macp->IntEPBuffer3+4));
- //ZD1211DEBUG(2, "intr_status = %x\n", intr_status);
-
- if (!intr_status)
-@@ -2765,7 +2765,7 @@
-
- sw_tcb = macp->activeTxQ->first;
- if (sw_tcb)
-- sw_tcb->pTcb->CbStatus = CB_STATUS_COMPLETE;
-+ sw_tcb->pTcb->CbStatus = cpu_to_le32(CB_STATUS_COMPLETE);
-
- zd1205_tx_isr(macp);
-
-@@ -2889,23 +2889,25 @@
- Tbd++;
-
- //Mac Header
-- memcpy(dst, (u8 *)Tbd->TbdBufferAddrLowPart, Tbd->TbdCount);
-+ memcpy(dst, (u8 *)le32_to_cpu(Tbd->TbdBufferAddrLowPart),
-+ le32_to_cpu(Tbd->TbdCount));
-
- ZD1211DEBUG(2, "MAC Header Length = %x\n", Tbd->TbdCount);
-- dst += Tbd->TbdCount;
-+ dst += le32_to_cpu(Tbd->TbdCount);
-
-- TotalLength += Tbd->TbdCount;
-+ TotalLength += le32_to_cpu(Tbd->TbdCount);
-
- Tbd++;
-
- //MAC Body
-- memcpy(dst, (u8 *)Tbd->TbdBufferAddrLowPart, Tbd->TbdCount);
-+ memcpy(dst, (u8 *)le32_to_cpu(Tbd->TbdBufferAddrLowPart),
-+ le32_to_cpu(Tbd->TbdCount));
-
- ZD1211DEBUG(2, "Tx DATA Length = %x\n", Tbd->TbdCount);
-- dst += Tbd->TbdCount;
-+ dst += le32_to_cpu(Tbd->TbdCount);
-
-
-- TotalLength += Tbd->TbdCount;
-+ TotalLength += le32_to_cpu(Tbd->TbdCount);
- Tbd++;
-
- ZD1211DEBUG(2, "TotalLength = %x\n", TotalLength);
-@@ -2914,7 +2916,7 @@
-
-
- // write down total length
-- *((u16 *)(macp->tx_buff+4)) = (u16)TotalLength + 14;
-+ *((u16 *)(macp->tx_buff+4)) = cpu_to_le16((u16)TotalLength + 14);
-
- ZD1211DEBUG(2, "macp->tx_buff+4 = %x\n", *((u16 *)(macp->tx_buff+4)));
-
-diff -ur zdold/src/zd1211.h zd1211-4916-r0/src/zd1211.h
---- zdold/src/zd1211.h 2005-01-28 22:55:14.000000000 -0800
-+++ zd1211-4916-r0/src/zd1211.h 2005-03-01 14:12:15.023914712 -0800
-@@ -146,7 +146,9 @@
- typedef struct _USB_WRITE_REG {
- u16 RequestID;
- USB_WRITE_REG_PACKAGE WritePackage[cMAX_MULTI_WRITE_REG_NUM];
--} USB_WRITE_REG, * PUSB_WRITE_REG;
-+} __attribute__((__packed__));
-+
-+typedef struct _USB_WRITE_REG USB_WRITE_REG, * PUSB_WRITE_REG;
-
-
- typedef struct _USB_SET_RF {
-diff -ur zdold/src/zdshared.c zd1211-4916-r0/src/zdshared.c
---- zdold/src/zdshared.c 2005-01-28 22:55:15.000000000 -0800
-+++ zd1211-4916-r0/src/zdshared.c 2005-03-01 14:43:35.078103032 -0800
-@@ -416,6 +416,7 @@
- U16 len;
- Frame_t *pf = pfrmDesc->mpdu;
-
-+ pf->header[2] = pf->header[3] = 0; // Initialize them to something?
- setFrameType(pf, ST_PROBE_REQ);
- pf->body = pfrmDesc->buffer;
- body = pf->body;
diff --git a/packages/zd1211/zd1211-4916/usb-ids.patch b/packages/zd1211/zd1211-4916/usb-ids.patch
deleted file mode 100644
index 3bb9b00e35..0000000000
--- a/packages/zd1211/zd1211-4916/usb-ids.patch
+++ /dev/null
@@ -1,21 +0,0 @@
---- zd1211-4916-r0/src/zdusb.h~ 2005-01-29 17:25:15.000000000 +1030
-+++ zd1211-4916-r0/src/zdusb.h 2005-08-24 10:39:06.000000000 +0930
-@@ -10,6 +10,8 @@
- #define PRODUCT_1211 0x1211
- #define VENDOR_ZYXEL 0x0586 //ZyXEL
- #define PRODUCT_G220 0x3401
-+#define VENDOR_3COM 0x6891 //3COM
-+#define PRODUCT_3CRUSB10075 0xa727
-
-
- #endif
---- zd1211-4916-r0/src/zdusb.c~ 2005-01-29 17:25:15.000000000 +1030
-+++ zd1211-4916-r0/src/zdusb.c 2005-08-24 10:39:30.000000000 +0930
-@@ -59,6 +59,7 @@
- static struct usb_device_id zd1211_ids [] = {
- { USB_DEVICE(VENDOR_ZYDAS, PRODUCT_1211) },
- { USB_DEVICE(VENDOR_ZYXEL, PRODUCT_G220) },
-+ { USB_DEVICE(VENDOR_3COM, PRODUCT_3CRUSB10075) },
- { } /* Terminating entry */
- };
-
diff --git a/packages/zd1211/zd1211-4916/.mtn2git_empty b/packages/zd1211/zd1211-r51/.mtn2git_empty
index e69de29bb2..e69de29bb2 100644
--- a/packages/zd1211/zd1211-4916/.mtn2git_empty
+++ b/packages/zd1211/zd1211-r51/.mtn2git_empty
diff --git a/packages/zd1211/zd1211-r51/makefile.patch b/packages/zd1211/zd1211-r51/makefile.patch
new file mode 100644
index 0000000000..bd07a084f0
--- /dev/null
+++ b/packages/zd1211/zd1211-r51/makefile.patch
@@ -0,0 +1,57 @@
+--- zd1211-driver-r51/Makefile.orig 2006-01-22 11:32:24.000000000 +0100
++++ zd1211-driver-r51/Makefile 2006-01-22 12:37:17.000000000 +0100
+@@ -4,17 +4,17 @@
+ #
+ #
+
+-CC=gcc
+-CPP=g++
+-LD=ld
+-rM=rm -f -r
++#CC=gcc
++#CPP=g++
++#LD=ld
++#RM=rm -f -r
+
+-MODPATH := /lib/modules/$(shell uname -r)
++#MODPATH := /lib/modules/$(shell uname -r)
+
+ # if the kernel is 2.6.x, turn on this
+ KERN_26=y
+
+-KERNEL_SOURCE=$(MODPATH)/source
++#KERNEL_SOURCE=$(MODPATH)/source
+ #KERNEL_SOURCE=/usr/src/linux
+
+ # set to 1 for zd1211b
+@@ -46,7 +46,7 @@
+ EXTRA_CFLAGS += -D__SMP__ -DSMP
+ endif
+
+-KDIR := $(MODPATH)/build
++#KDIR := $(MODPATH)/build
+ PWD := $(shell pwd)
+
+ WLAN_SRC=$(PWD)
+@@ -219,15 +219,15 @@
+
+
+ install: all
+- mkdir -p $(MODPATH)/net
++# mkdir -p $(MODPATH)/net
+ # mkdir -p /etc/zd1211
+- cp $(MODULE) $(MODPATH)/net
+- depmod -a
++# cp $(MODULE) $(MODPATH)/net
++# depmod -a
+
+ #for apdbg
+- gcc -o apdbg apdbg.c
+- chmod +x apdbg
+- cp ./apdbg /sbin/apdbg
++# gcc -o apdbg apdbg.c
++# chmod +x apdbg
++# cp ./apdbg /sbin/apdbg
+
+ clean:
+ rm -rf .tmp_versions .*.cmd *.ko *.mod.c *.mod.o *.o $(SRC_DIR)/*.o $(SRC_DIR)/.*.o.cmd
diff --git a/packages/zd1211/zd1211_4916.bb b/packages/zd1211/zd1211_4916.bb
deleted file mode 100644
index 4d49409b5e..0000000000
--- a/packages/zd1211/zd1211_4916.bb
+++ /dev/null
@@ -1,35 +0,0 @@
-SRC_URI = "${SOURCEFORGE_MIRROR}/zd1211/sf-zd1211-${PV}-src.tar.gz \
- file://makefile.patch;patch=1 \
- file://syntax.patch;patch=1 \
- file://usb-endian.patch;patch=1 \
- file://usb-ids.patch;patch=1 \
- file://get-stats.patch;patch=1 \
- file://explicit-key-change.patch;patch=1 \
- file://copy-break.patch;patch=1"
-S = "${WORKDIR}"
-LICENSE = "GPL"
-
-inherit module-base
-SECTION = "base"
-
-do_configure() {
- :
-}
-
-CFLAGS = "-DLINUX_OS -D__KERNEL__ -DMODULE -I${S}/src/includes -I${S}/src/includes/pcmcia -I${STAGING_KERNEL_DIR}/include"
-
-do_compile() {
- unset CFLAGS CPPFLAGS CXXFLAGS LDFLAGS
- oe_runmake KERNEL_PATH=${STAGING_KERNEL_DIR} \
- KERNEL_SRC=${STAGING_KERNEL_DIR} \
- KERNEL_VERSION=${KERNEL_VERSION} \
- CC="${KERNEL_CC}" LD="${KERNEL_LD}" \
- ${MAKE_TARGETS}
-}
-
-do_install() {
- install -d ${D}/opt/lib/modules/${KERNEL_VERSION}/wireless
- install -m 0644 zd1211.o ${D}/opt/lib/modules/${KERNEL_VERSION}/wireless/zd1211.o
-}
-
-FILES_${PN} = "/opt/lib/modules"
diff --git a/packages/zd1211/zd1211_r51.bb b/packages/zd1211/zd1211_r51.bb
new file mode 100644
index 0000000000..7aaad5e6ef
--- /dev/null
+++ b/packages/zd1211/zd1211_r51.bb
@@ -0,0 +1,31 @@
+DESCRIPTION = "Driver for zd1211 family of wireless USB Dongles"
+PRIORITY = "optional"
+SECTION = "kernel/modules"
+MAINTAINER = "Oyvind Repvik <nail@nslu2-linux.org>"
+LICENSE = "GPL"
+PR = "r1"
+RDEPENDS = "wireless-tools"
+
+SRC_URI = "http://zd1211.ath.cx/download/zd1211-driver-${PV}.tgz \
+ file://makefile.patch;patch=1"
+
+S = "${WORKDIR}/zd1211-driver-${PV}"
+
+inherit module
+
+do_compile () {
+ unset CFLAGS CPPFLAGS CXXFLAGS LDFLAGS CC LD CPP
+ oe_runmake 'MODPATH={D}${base_libdir}/modules/${KERNEL_VERSION}/kernel/drivers/net' \
+ 'KERNEL_SOURCE=${STAGING_KERNEL_DIR}' \
+ 'KDIR=${STAGING_KERNEL_DIR}' \
+ 'SRC_DIR=${S}/src' \
+ 'KERNE_VERSION=${KERNEL_VERSION}' \
+ 'CC="${KERNEL_CC}"' \
+ 'LD="${KERNEL_LD}"'
+}
+
+do_install() {
+ install -d ${D}${base_libdir}/modules/${KERNEL_VERSION}/kernel/drivers/net
+ install -m 0644 ${S}/zd1211*${KERNEL_OBJECT_SUFFIX} ${D}${base_libdir}/modules/${KERNEL_VERSION}/kernel/drivers/net
+}
+