Скачиваем со
страницы производителя чипа исходный код драйвера и фирмварь для RT73.
Внимательно читаем README и собираем драйвер.
Перед сборкой применяем этот патчик:
Код:
diff -uNr Module/rtmp_def.h /export/home/rad/development/rt73-ralink/Module/rtmp_def.h
--- Module/rtmp_def.h 2006-04-27 10:05:20.000000000 +0400
+++ /export/home/rad/development/rt73-ralink/Module/rtmp_def.h 2006-06-21 16:52:49.000000000 +0400
@@ -826,6 +826,9 @@
#define SURECOMVID 0x0769 // Surecom
#define SURECOMPID 0x31F3
+#define DLVID1 0x07d1 // DWL-G122 C1
+#define DLPID1 0x3c03
+
#define RT73_USB_DEVICES { \
{USB_DEVICE(RTVID1,RTPID1)}, \
{USB_DEVICE(RTVID1,RTPID2)}, \
@@ -837,6 +840,7 @@
{USB_DEVICE(MSIVID,MSIPID2)}, \
{USB_DEVICE(ABOCOMVID,ABOCOMPID)}, \
{USB_DEVICE(SURECOMVID,SURECOMPID)}, \
+ {USB_DEVICE(DLVID1,DLPID1)}, \
{USB_DEVICE(0,0)}} /* end marker */
diff -uNr Module/rtmp_main.c /export/home/rad/development/rt73-ralink/Module/rtmp_main.c
--- Module/rtmp_main.c 2006-04-27 10:05:20.000000000 +0400
+++ /export/home/rad/development/rt73-ralink/Module/rtmp_main.c 2006-06-21 15:55:49.000000000 +0400
@@ -102,7 +102,9 @@
static void usb_rtusb_disconnect(struct usb_interface *intf);
struct usb_driver rtusb_driver = {
+#if LINUX_VERSION_CODE <= KERNEL_VERSION(2, 6, 15)
.owner = THIS_MODULE,
+#endif /* KERNEL_VERSION(2, 6, 15) */
.name="rt73",
.probe=usb_rtusb_probe,
.disconnect=usb_rtusb_disconnect,
Проверено на Debian Linux 2.6.16.
По крайней мере не виснет сразу как в случае использования rt2x00.
В настоящее время второго устройства по близости нет. В 21:00 по МСК отпишу результаты тестирования в домашней сетке.