From ddd959ddc62f610a8931ce3d94c8e3c8b965ab0a Mon Sep 17 00:00:00 2001 From: Rod Whitby Date: Wed, 24 Aug 2005 02:14:20 +0000 Subject: zd1211: Added zd1211-4916 (rumoured to work with Unslung). --- packages/zd1211/zd1211-4916/.mtn2git_empty | 0 packages/zd1211/zd1211-4916/copy-break.patch | 11 + .../zd1211/zd1211-4916/explicit-key-change.patch | 24 ++ packages/zd1211/zd1211-4916/get-stats.patch | 77 ++++++ packages/zd1211/zd1211-4916/makefile.patch | 28 ++ packages/zd1211/zd1211-4916/syntax.patch | 20 ++ packages/zd1211/zd1211-4916/usb-endian.patch | 298 +++++++++++++++++++++ packages/zd1211/zd1211-4916/usb-ids.patch | 21 ++ packages/zd1211/zd1211_4916.bb | 35 +++ 9 files changed, 514 insertions(+) create mode 100644 packages/zd1211/zd1211-4916/.mtn2git_empty create mode 100644 packages/zd1211/zd1211-4916/copy-break.patch create mode 100644 packages/zd1211/zd1211-4916/explicit-key-change.patch create mode 100644 packages/zd1211/zd1211-4916/get-stats.patch create mode 100644 packages/zd1211/zd1211-4916/makefile.patch create mode 100644 packages/zd1211/zd1211-4916/syntax.patch create mode 100644 packages/zd1211/zd1211-4916/usb-endian.patch create mode 100644 packages/zd1211/zd1211-4916/usb-ids.patch create mode 100644 packages/zd1211/zd1211_4916.bb (limited to 'packages/zd1211') diff --git a/packages/zd1211/zd1211-4916/.mtn2git_empty b/packages/zd1211/zd1211-4916/.mtn2git_empty new file mode 100644 index 0000000000..e69de29bb2 diff --git a/packages/zd1211/zd1211-4916/copy-break.patch b/packages/zd1211/zd1211-4916/copy-break.patch new file mode 100644 index 0000000000..a08c543550 --- /dev/null +++ b/packages/zd1211/zd1211-4916/copy-break.patch @@ -0,0 +1,11 @@ +--- 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 new file mode 100644 index 0000000000..ef01f3cb3e --- /dev/null +++ b/packages/zd1211/zd1211-4916/explicit-key-change.patch @@ -0,0 +1,24 @@ +--- 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 new file mode 100644 index 0000000000..0525522b43 --- /dev/null +++ b/packages/zd1211/zd1211-4916/get-stats.patch @@ -0,0 +1,77 @@ +--- 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 new file mode 100644 index 0000000000..a01cb085bc --- /dev/null +++ b/packages/zd1211/zd1211-4916/makefile.patch @@ -0,0 +1,28 @@ +--- 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 new file mode 100644 index 0000000000..969839e8dd --- /dev/null +++ b/packages/zd1211/zd1211-4916/syntax.patch @@ -0,0 +1,20 @@ +--- 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 new file mode 100644 index 0000000000..f2516ff783 --- /dev/null +++ b/packages/zd1211/zd1211-4916/usb-endian.patch @@ -0,0 +1,298 @@ +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; iWritePackage[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 new file mode 100644 index 0000000000..3bb9b00e35 --- /dev/null +++ b/packages/zd1211/zd1211-4916/usb-ids.patch @@ -0,0 +1,21 @@ +--- 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.bb b/packages/zd1211/zd1211_4916.bb new file mode 100644 index 0000000000..4d49409b5e --- /dev/null +++ b/packages/zd1211/zd1211_4916.bb @@ -0,0 +1,35 @@ +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" -- cgit v1.2.3