WZR-HP-G301NH
OpenWrt 19.07.7
Rakuten WiFi Pocket
R310_V3.19_20210302
上記で確認しました
参考にした記事
OpenWrtでRakuten WiFi PocketをUSB接続で使う - Qiita
https://qiita.com/konosuke/items/ed30775dd85704e0b1af
パッケージの追加
opkg install usb-modeswitch
cat /sys/kernel/debug/usb/devices
T: Bus=01 Lev=01 Prnt=01 Port=00 Cnt=01 Dev#= 6 Spd=480 MxCh= 0
D: Ver= 2.00 Cls=02(comm.) Sub=00 Prot=00 MxPS=64 #Cfgs= 1
P: Vendor=19d2 ProdID=1557 Rev= 1.01
S: Manufacturer=DEMO,Incorporated
S: Product=DEMO Mobile Boardband
S: SerialNumber=1234567890ABCDEF
C:* #Ifs= 3 Cfg#= 1 Atr=c0 MxPwr=500mA
A: FirstIf#= 0 IfCount= 2 Cls=02(comm.) Sub=06 Prot=00
I:* If#= 0 Alt= 0 #EPs= 1 Cls=02(comm.) Sub=06 Prot=00 Driver=(none)
E: Ad=87(I) Atr=03(Int.) MxPS= 16 Ivl=32ms
I:* If#= 1 Alt= 0 #EPs= 0 Cls=0a(data ) Sub=00 Prot=00 Driver=(none)
I: If#= 1 Alt= 1 #EPs= 2 Cls=0a(data ) Sub=00 Prot=00 Driver=(none)
E: Ad=81(I) Atr=02(Bulk) MxPS= 512 Ivl=0ms
E: Ad=01(O) Atr=02(Bulk) MxPS= 512 Ivl=0ms
I:* If#= 2 Alt= 0 #EPs= 2 Cls=08(stor.) Sub=06 Prot=50 Driver=(none)
E: Ad=82(I) Atr=02(Bulk) MxPS= 512 Ivl=0ms
E: Ad=02(O) Atr=02(Bulk) MxPS= 512 Ivl=125us
Vendor=19d2 ProdID=1557がRakuten WiFi Pocketだと思われます。
dmesg | grep cdc_ether
root@OpenWrt:~# dmesg | grep cdc_ether
[ 1400.825067] cdc_ether 1-1:1.0 eth2: register 'cdc_ether' at usb-ehci-platform-1, ZTE CDC Ethernet Device, 34:4b:50:00:00:00
[ 1400.836665] usbcore: registered new interface driver cdc_ether
root@OpenWrt:~#
メッセージから、物理インターフェースがeth2であるこことを確認
※環境によって違うと思います
インターフェースの追加
uci set network.wwan.ifname='eth2'
uci set network.wwan.proto='dhcp'
uci set network.wwan6=interface
uci set network.wwan6.ifname='eth2'
uci set network.wwan6.proto='dhcpv6'
uci commit network
uci add_list firewall.@zone[1].network='wwan'
uci add_list firewall.@zone[1].network='wwan6'
uci commit firewall
/etc/init.d/network restart
/etc/init.d/firewall reload
wwan(eth2),wwan6(eth2)が追加されてるのを確認できます
この状態で、LANに接続した機器からインターネットができます。ただしIPv6は無理なようです。IPv4で問題ないのなら、この状態でも使えると思います。
IPv6対応
なにをやってるのか、私には理解できません。参考にした記事そのままです。
「ND Proxy」を使ってるようです。
uci delete network.lan.ip6assign
uci commit network
uci set dhcp.wwan='dhcp'
uci set dhcp.wwan.interface='wwan'
uci set dhcp.wwan.ignore='1'
uci set dhcp.wwan.ndp='relay'
uci set dhcp.wwan.ra='relay'
uci set dhcp.wwan.master='1'
uci set dhcp.lan.dhcpv6='server'
uci set dhcp.lan.ndp='relay'
uci set dhcp.lan.ra='relay'
uci add_list dhcp.lan.dns="$(uci get network.lan.ip6addr)"
uci commit dhcp
/etc/init.d/network restart
/etc/init.d/odhcpd restart
https://test-ipv6.com/index.html.ja_JP
ちゃんと想定通りに設定されてるかどうかは、上記で確認可能です。