Нужно будет применить только одно, или это:
или вот это:Code:iptables -A FORWARD -i br0 -o eth2 -j ACCEPT iptables -t nat -A POSTROUTING -o eth2 -j MASQUERADE
http://www.dd-wrt.com/wiki/index.php...WAN_connectionCode:nvram set wan_ifname=eth2 nvram set wan_ifnames=eth2 nvram set wan0_ifname=eth2 nvram set wan0_ifnames=eth2 nvram commit
http://srv.nsk.ru/page.php?49Устанавливаем следующие пакеты:
Code:kmod-usb-core (он подтащит kmod-nls-base) kmod-usb-net kmod-usb-net-asix kmod-usb-net-cdc-ether kmod-usb-net-rndis kmod-usb2 kmod-ath9k (для функционирования wifi) kmod-usb-ohci (для распознавания модема)
http://forum.onliner.by/viewtopic.php?f=420&p=35648862tp-link 1043nd, прошивка OpenWrt.
После установки прошивки необходимо доставить cdc и rndis пакеты:
После этого воткнуть мопед в usb роутера - появится новый сетевой интерфейс, например eth1.Code:opkg update opkg list|grep cdc opkg list|grep rndis opkg install <то что вернули предыдущие две команды>
Необходимо прописать в /etc/config/network:
и выполнить командыCode:config 'interface' 'eth1' option 'proto' 'dhcp' option 'ifname' 'eth1' option 'metric' '1'
Enjoy...Code:sync sync (привычка :)) reboot
Мопед будет работать с любым роутером, на который ставится OpenWrt и в котором есть usb порт.
Рекомендую использовать usb-hub с внешним питанием.
Список поддерживаемых роутеров OpenWrt: http://wiki.openwrt.org/toh/start![]()
• Oleg's FAQ • Mini FAQ • Все об Asus RT-N16 • Все об Asus RT-N66U • VectorMM.net • Wiki-HUB.ru • WikiDevi • Wi-Cat.ru •
Last edited by theMIROn; 26-02-2012 at 01:53.
ASUS WL5xx: FW 1.9.2.7-d-rXXXX / обсуждение прошивки [RU] / firmware discussion [EN] | bip irc proxy
ASUS RT-N1x: FW 1.9.2.7-rtn-rXXXX / обсуждение прошивки [RU] / firmware discussion [EN] | fake ident daemon
Вот ссылка на дискуссию про затычку на WM.
http://www.spinics.net/lists/linux-u.../msg00940.html
Она более чем актуальна - без этого патча мой Htc Touch на вполне современной Windows Mobile 6.5 не мог нормально соединится с роутером, все принятые пакеты bad и соответственно роутер не получал адрес по dhcp. После патча все стало нормально. И дело здесь я так понимаю не в версии WM, а в микросхеме USB порта. Например у меня на HTC Touch
I:* If#= 0 Alt= 0 #EPs= 1 Cls=ef(misc ) Sub=01 Prot=01 Driver=rndis_host
E: Ad=81(I) Atr=03(Int.) MxPS= 8 Ivl=1ms
и драйвер подхватывает
/* "ActiveSync" is an undocumented variant of RNDIS, used in WM5 */
USB_INTERFACE_INFO(USB_CLASS_MISC, 1, 1)
появляется интерфейс
Jan 1 04:00:05 kernel: eth2: register 'rndis_host' at usb-0000:00:04.0-1, RNDIS device, 80:00:60:0f:e8:00
А в телефонах посовременнее начинкой и на WM и на Android
I:* If#= 0 Alt= 0 #EPs= 1 Cls=e0(wlcon) Sub=01 Prot=03 Driver=rndis_host
драйвер видит
/* RNDIS for tethering */
USB_INTERFACE_INFO(USB_CLASS_WIRELESS_CONTROLLER, 1, 3),
и появляется интерфейс
Feb 26 10:44:15 kernel: usb0: register 'rndis_host' at usb-0000:00:04.1-1, RNDIS device, d6:ba:f1:6b:2d:a1
Ну а патч для андроида я искал поближе к версии нашего ядра, чтобы поменьше работать напильником.
Last edited by sorine; 26-02-2012 at 07:39.
Я вот задумался - а так ли нужна эта проверка в апплете rc udhcpc.script ?
В остальных местах - конечно да, т.к. обработка идёт по разным веткам, а здесь...
Спасибо за информацию. Меня смущает то, что этот патч не приняли в апстрим. Скорее всего дело не только в dev->rx_urb_size. Давай так - я постараюсь натаскать фиксов для cdc_ether + rndis_host с kernel.org, а дальше по ситуации. Если не поможет - я тебя попрошу вставить отладочный printk() со значениями dev->rx_urb_size, dev->hard_mtu, dev->maxpacket, dev->udev->speed и посмотрим, чем же WM отличается от остальных.
Скорее именно в WM.И дело здесь я так понимаю не в версии WM, а в микросхеме USB порта.
по логике так и должно быть.Например у меня на HTC Touch
I:* If#= 0 Alt= 0 #EPs= 1 Cls=ef(misc ) Sub=01 Prot=01 Driver=rndis_host
E: Ad=81(I) Atr=03(Int.) MxPS= 8 Ivl=1ms
и драйвер подхватывает
/* "ActiveSync" is an undocumented variant of RNDIS, used in WM5 */
USB_INTERFACE_INFO(USB_CLASS_MISC, 1, 1)
появляется интерфейс
Jan 1 04:00:05 kernel: eth2: register 'rndis_host' at usb-0000:00:04.0-1, RNDIS device, 80:00:60:0f:e8:00
Samsung Galaxy S II работает без патча.
PS: через него и написано.Code:Destination Gateway Genmask Flags Metric Ref Use Iface 192.168.42.0 * 255.255.255.0 U 0 0 0 usb0 192.168.1.0 * 255.255.255.0 U 0 0 0 br0 127.0.0.0 * 255.0.0.0 U 0 0 0 lo default 192.168.42.129 0.0.0.0 UG 1 0 0 usb0 wan0_usb_device_name=SAMSUNG_Android wan0_usb_device=4e8/6863/400 : /proc/bus/usb/001/003
* Wiki *
Last edited by Omega; 27-02-2012 at 09:09. Reason: fixed
При сборке:Code:# modprobe rndis_host usbcore: registered new interface driver cdc_ether usbcore: registered new interface driver rndis_host # lsmod Module Size Used by Tainted: P rndis_host 5984 0 cdc_ether 4064 1 rndis_host usbnet 15120 2 rndis_host,cdc_ether usb_storage 83328 1 sd_mod 23680 2 scsi_mod 93376 2 usb_storage,sd_mod usblp 14096 0 ohci_hcd 20048 0 ehci_hcd 38064 0 usbcore 135200 8 rndis_host,cdc_ether,usbnet,usb_storage,usblp,ohci_hcd,ehci_hcd nf_nat_ftp 2304 0 nf_conntrack_ftp 7296 1 nf_nat_ftp wl 1619136 0 et 52608 0 igs 17552 1 wl emf 21248 2 wl,igs
ЧТЯДН?Code:$ grep MII rt-n/linux/linux-2.6/.config # CONFIG_MII is not set # CONFIG_USB_USBNET_MII is not set
P.S. У меня нет подобных девайсов для тестов, поэтому и спрашиваю тебя
Code:T: Bus=01 Lev=01 Prnt=01 Port=01 Cnt=01 Dev#= 3 Spd=480 MxCh= 0 D: Ver= 2.00 Cls=02(comm.) Sub=00 Prot=00 MxPS=64 #Cfgs= 1 P: Vendor=04e8 ProdID=6863 Rev= 4.00 S: Manufacturer=SAMSUNG S: Product=SAMSUNG_Android C:* #Ifs= 2 Cfg#= 1 Atr=c0 MxPwr= 96mA A: FirstIf#= 0 IfCount= 2 Cls=02(comm.) Sub=06 Prot=00 I:* If#= 0 Alt= 0 #EPs= 1 Cls=02(comm.) Sub=02 Prot=ff Driver=rndis_host E: Ad=86(I) Atr=03(Int.) MxPS= 8 Ivl=32ms I:* If#= 1 Alt= 0 #EPs= 2 Cls=0a(data ) Sub=00 Prot=00 Driver=rndis_host E: Ad=8b(I) Atr=02(Bulk) MxPS= 512 Ivl=0ms E: Ad=0a(O) Atr=02(Bulk) MxPS= 512 Ivl=0ms
* Wiki *
I:* If#= 0 Alt= 0 #EPs= 1 Cls=02(comm.) Sub=02 Prot=ff Driver=rndis_host
Этот класс есть в исходном драйвере.
insmod usbnet
insmod: can't insert 'usbnet.ko': unknown symbol in module, or unknown parameter
Feb 26 13:53:50 kernel: usbnet: Unknown symbol mii_ethtool_sset
Feb 26 13:53:50 kernel: usbnet: Unknown symbol mii_link_ok
Feb 26 13:53:50 kernel: usbnet: Unknown symbol mii_nway_restart
Feb 26 13:53:50 kernel: usbnet: Unknown symbol mii_ethtool_gset
Без mii
3832
Last edited by Omega; 27-02-2012 at 09:11. Reason: fixed
Это значит, что сборка прошла с установленным CONFIG_MII/CONFIG_MII_MODULE в autoconf.h, так как в usbnet.c есть строчки:
проверяется и без роутера - следующая команда должна выдавать пустотуCode:#if defined(CONFIG_MII) || defined(CONFIG_MII_MODULE) #define HAVE_MII ...
забыл make oldconfig после правки .config?Code:nm usbnet.o |grep usbnet_get_settings