211 Commits

Author SHA1 Message Date
hselasky
3685634095 Avoid starting a USB transfer inside the callback function, right
after its been submitted.

MFC after:	3 days
2014-05-21 06:23:52 +00:00
hselasky
22a2a23b20 - The DELAY() should not be used in USB drivers.
- The usb_pause_mtx() function takes ticks and not milliseconds as last argument.

MFC after:	3 days
2014-05-20 15:53:17 +00:00
hselasky
e77e835ce8 - The DELAY() should not be used in USB drivers.
- The usb_pause_mtx() function takes ticks and not milliseconds as last argument.

MFC after:	3 days
2014-05-20 15:47:37 +00:00
hselasky
0363117cd5 Make sure detach code is executed in all cases. This fixes a panic
when debugging is enabled.

Reported by:	Idwer Vollering <vidwer@gmail.com>
MFC after:	3 days
2014-05-20 12:22:53 +00:00
andreast
044b3e1a2f Fix gcc build, initialize off variable. 2014-04-26 19:30:04 +00:00
kevlo
f16b6a346e Initialize rssi variable. 2014-04-26 14:39:58 +00:00
kevlo
867becd902 Add preliminary support for the Realtek RTL8188EUS and RTL8188ETV chipsets.
Committed over the TP-LINK TL-WN725N v2 (RTL8188EUS) on amd64 with WPA.
2014-04-25 08:01:22 +00:00
kevlo
1411f9e891 Fix panic by adding mtx_assert() to urtwn_init_locked() and
urtwn_stop_locked().

Tested by:	Anthony Jenkins <scoobi_doo at yahoo dot com>
2014-04-24 03:16:47 +00:00
kevlo
41151c8ea6 Add the Asus USB-N10 NANO.
Tested by:	Kuan-Chung Chiu <buganini@gmail.com>
2014-04-10 14:37:37 +00:00
hselasky
129b50ccf0 Add new USB ID.
Submitted by:	Tuomo Latto <djv+fbpr@iki.fi>
PR:		usb/188046
MFC after:	1 week
2014-04-01 10:34:39 +00:00
kevlo
5c3dbd2895 Reset the bit of the R92C_MCUFWDL associated with checksum report
before loading firmware page.  It may fix this problem:
"urtwn0: timeout waiting for checksum report"
2014-03-14 06:38:22 +00:00
kevlo
c6b8469b0b Similar to r246614, fix panic on removing urtwn(4). It happens because
nodes are freed after the adapter is gone.
2014-03-14 06:37:08 +00:00
kevlo
8534e7cf72 Fix a logic error when enabling MAC. 2014-03-06 06:39:55 +00:00
hselasky
ecdc0f0c42 - Temporary fix for race in RUN driver which can
cause freed memory to be accessed.
- Properly lock callout_reset()'s.

MFC after:	1 week
2014-03-05 18:39:27 +00:00
kevlo
65cc350313 Add a flag to run's device list which uses a standard scsi eject.
The flag indicates that the mcu doesn't need to load firmware.

Tested by:	Alex Deiter <alex dot deiter at gmail.com>, myself
Tested on:	ASUS USB-N66
2014-02-25 01:42:02 +00:00
rpaulo
c184a50f04 Add urtwn_start_locked() to avoid unlocking during TX. 2014-02-14 01:47:12 +00:00
kevlo
a946e62bbf Correct setting R92C_TXAGC_MCS11_MCS08 register. 2014-02-05 08:09:02 +00:00
hselasky
f6bc13e38a Fix a range check for maximum transmit length. The existing code was
off by 4 bytes in one case.

Approved by:	kevlo @
MFC after:	2 weeks
2014-01-31 22:42:26 +00:00
kevlo
2c9e578739 Fix comment. 2014-01-24 15:34:22 +00:00
kevlo
f1926f47b5 Get rid of memmove(). It's not portable.
Tested on RT3071, RT3573, RT3570, RT3572, and RT5572.

Reviewed by:	hselasky
2014-01-24 09:17:29 +00:00
hselasky
8acd608957 Revert r261014. Let Kevin fix it.
MFC after:	1 week
2014-01-23 10:18:28 +00:00
hselasky
ce97156ddb - Fix some non-portable code with regard to endianness. Don't use memmove().
- Fix a range check for maximum transmit length.
- Fix read from missing field when transmitting data.

MFC after:	2 weeks
2014-01-22 09:57:26 +00:00
kevlo
8a56b3adbe Fix a logic error when checking if Tx power entries are greater than 31. 2014-01-11 14:48:16 +00:00
kevlo
9dec29fa6d Use m_get2() instead of m_getcl().
Spotted by:	glebius
2014-01-10 14:47:20 +00:00
kevlo
4b3cba7a66 Use m_getcl() instead of MGETHDR/MCLGET macros.
Suggested by:	glebius
2014-01-10 02:47:20 +00:00
kevlo
1fd048d35f Replace deprecated M_DONTWAIT with M_NOWAIT. 2014-01-09 01:48:33 +00:00
kevlo
2d30c961db Rename definition of IEEE80211_FC1_WEP to IEEE80211_FC1_PROTECTED.
The origin of WEP comes from IEEE Std 802.11-1997 where it defines
whether the frame body of MAC frame has been encrypted using WEP
algorithm or not.
IEEE Std. 802.11-2007 changes WEP to Protected Frame, indicates
whether the frame is protected by a cryptographic encapsulation
algorithm.

Reviewed by:	adrian, rpaulo
2014-01-08 08:06:56 +00:00
kevlo
f8e32f263b Add support for the MediaTek/Ralink RT3593 chipset.
Committed over the ZyXEL NWD2705 on amd64 with WPA.
2014-01-03 06:01:05 +00:00
dim
a2309c25c3 In sys/dev/usb/wlan/if_urtw.c, #if 0 a static const variable, which has
been unused since r198194.

MFC after:	3 days
2013-12-29 20:05:48 +00:00
kevlo
9b429fdd7f Add D-Link DWA-140 rev D1, another RT5372/run(4).
From Anton Mazunin.
2013-12-27 08:03:53 +00:00
kevlo
4cebeb74ee Some devices have a dual mode such as Tenda W326U and ZyXEL NWD2705,
add the product id and use a standard scsi eject.

Tested on the ZyXEL NWD2705 wlan dongle.
2013-12-24 07:02:05 +00:00
kevlo
5cd113b51f Use 'val' instead of 'val & 0xff' since the last argument of run_bbp_write()
is uint8_t.

Spotted by:	yongari
2013-12-18 08:53:40 +00:00
kevlo
b79af7fc51 Fix style: add tab after #define. 2013-12-18 08:39:12 +00:00
kevlo
5c847bbcbd Fix typo in comment. 2013-12-18 07:47:50 +00:00
kevlo
698593e4d7 Add support to IQ calibration. 2013-12-18 07:34:57 +00:00
hselasky
7d5f67face Fix compilation when the "USB_DEBUG" option is set. 2013-12-06 22:13:51 +00:00
kevlo
ebd908fde4 Add support for the MediaTek/Ralink RT5572 chipset.
Committed over the TP-LINK TL-WDN3200 (RT5572) on amd64 with WPA.

While here, add my copyright.
2013-12-06 15:26:39 +00:00
kevlo
3ce49fd210 Replace the magic numbers with something more readable. 2013-12-06 15:17:28 +00:00
kevlo
06f42a6b8c Cosmetic changes. 2013-12-06 15:15:58 +00:00
kevlo
51bf08becd Remove daft KASSERT. 2013-12-06 15:14:18 +00:00
hselasky
7d3024cb62 Fix what looks like a typo after r258732. 2013-12-04 12:30:51 +00:00
hselasky
40def9e664 Fix external compiler warning(s). Avoid pointer dereferencing. 2013-12-04 12:07:46 +00:00
kevlo
babdb17eed The RUN_MAX_TXSZ constat is defined as Tx desc + Tx wireless info + MCLBYTES +
max padding.  We were lucky in that run(4) working fine since both
rt2860_rxwi and rt2860_txwi structure sizes are the same.
2013-12-02 09:07:43 +00:00
eadler
44c01df173 Fix undefined behavior: (1 << 31) is not defined as 1 is an int and this
shifts into the sign bit.  Instead use (1U << 31) which gets the
expected result.

This fix is not ideal as it assumes a 32 bit int, but does fix the issue
for most cases.

A similar change was made in OpenBSD.

Discussed with:	-arch, rdivacky
Reviewed by:	cperciva
2013-11-30 22:17:27 +00:00
kevlo
9f3c182db5 Change run_rt2870_rf_write() prototype (no functional change) 2013-11-29 07:08:17 +00:00
kevlo
b17645aa8b On the RT2870, rf registers are now 64-bit, not 32-bit after r257955.
Committed over a Buffalo WLI-UC-AG300N (RT2870).
2013-11-29 06:10:44 +00:00
hselasky
60390b2cf7 Style changes. 2013-11-26 11:11:24 +00:00
hselasky
594d5b9c54 Add missing static keyword.
MFC after:	2 weeks
2013-11-26 10:53:12 +00:00
kevlo
91f9fae5f7 Remove a couple of unused macros. 2013-11-13 05:22:39 +00:00
kevlo
6ca4f70a6a - Use bit twiddling macro to set IEEE80211_MODE_11A
- On the RT3572 chipset, there's no need to configure BBP register 86
2013-11-13 05:21:41 +00:00