Hi,
I'm trying to set up USB tethering between my Rockpro64 dev board (gentoo, systemd) and my Gentoo PC (openrc) I have successfully been able to connect the board to my laptop, enumerating it as an RNDIS device. It seems like connectivity is working locally, between my laptop and the device, as I am still able to maintain SSH and start sftp.
I have tried running dhcpcd and I also have an appropriate entry in /etc/conf.d/net for the device.
Here's what my dmesg looks like on the PC:
Code:
[23744.826354] usb 1-1: new high-speed USB device number 8 using xhci_hcd
[23744.959321] usb 1-1: New USB device found, idVendor=1058, idProduct=0827, bcdDevice= 5.09
[23744.959327] usb 1-1: New USB device strings: Mfr=1, Product=2, SerialNumber=3
[23744.959331] usb 1-1: Product: RNDIS
[23744.959334] usb 1-1: Manufacturer: Pine
[23744.971023] rndis_host 1-1:1.0 usb0: register 'rndis_host' at usb-0000:00:14.0-1, RNDIS device, e6:c3:74:d1:fd:cf
[23745.551540] rndis_host 1-1:1.0 enp0s20f0u1: renamed from usb0
And on the board, when I created the appropriate entry in configfs:
Code:
[ 5340.742874] udc fe800000.usb: registering UDC driver [rockpro64]
[ 5340.742985] configfs-gadget gadget: adding 'rndis'/00000000916f8169 to config 'c'/00000000e6aefc62
[ 5340.745285] usb0: HOST MAC 82:be:ff:d5:83:2b
[ 5340.746602] usb0: MAC 7e:ed:70:c5:27:e5
[ 5340.747307] rndis_set_param_medium: 0 0
[ 5340.747320] configfs-gadget gadget: RNDIS: super speed IN/ep1in OUT/ep1out NOTIFY/ep2in
[ 5340.960218] usb0: eth_open
[ 5341.198787] configfs-gadget gadget: resume
[ 5341.200826] configfs-gadget gadget: resume
[ 5341.203941] configfs-gadget gadget: resume
[ 5341.204354] configfs-gadget gadget: high-speed config #1: c
[ 5341.204385] configfs-gadget gadget: reset rndis control 0
[ 5341.204397] configfs-gadget gadget: init rndis ctrl 0
[ 5341.204429] configfs-gadget gadget: init rndis
[ 5341.204441] configfs-gadget gadget: RNDIS RX/TX early activation ...
[ 5341.204845] usb0: qlen 10
[ 5341.204859] configfs-gadget gadget: rndis_open
[ 5341.204872] rndis_set_param_medium: 0 4259840
[ 5341.204897] usb0: eth_start
[ 5341.205175] rndis_set_param_dev:
[ 5341.205498] IPv6: ADDRCONF(NETDEV_CHANGE): usb0: link becomes ready
[ 5341.207636] configfs-gadget gadget: non-core control req21.00 v0000 i0000 l24
[ 5341.207671] configfs-gadget gadget: rndis req21.00 v0000 i0000 l24
[ 5341.207887] rndis_msg_parser: RNDIS_MSG_INIT
[ 5341.208210] configfs-gadget gadget: non-core control reqa1.01 v0000 i0000 l1025
[ 5341.208266] configfs-gadget gadget: rndis reqa1.01 v0000 i0000 l1025
[ 5341.208681] configfs-gadget gadget: non-core control req21.00 v0000 i0000 l28
[ 5341.208718] configfs-gadget gadget: rndis req21.00 v0000 i0000 l28
[ 5341.208912] gen_ndis_query_resp: RNDIS_OID_GEN_PHYSICAL_MEDIUM
[ 5341.209138] configfs-gadget gadget: non-core control reqa1.01 v0000 i0000 l1025
[ 5341.209193] configfs-gadget gadget: rndis reqa1.01 v0000 i0000 l1025
[ 5341.209471] configfs-gadget gadget: non-core control req21.00 v0000 i0000 l12
[ 5341.209495] configfs-gadget gadget: rndis req21.00 v0000 i0000 l12
[ 5341.209629] rndis_msg_parser: RNDIS_MSG_HALT
[ 5341.210084] configfs-gadget gadget: non-core control req21.00 v0000 i0000 l24
[ 5341.210116] configfs-gadget gadget: rndis req21.00 v0000 i0000 l24
[ 5341.210227] rndis_msg_parser: RNDIS_MSG_INIT
[ 5341.210455] configfs-gadget gadget: non-core control reqa1.01 v0000 i0000 l1025
[ 5341.210494] configfs-gadget gadget: rndis reqa1.01 v0000 i0000 l1025
[ 5341.210789] configfs-gadget gadget: non-core control req21.00 v0000 i0000 l28
[ 5341.210815] configfs-gadget gadget: rndis req21.00 v0000 i0000 l28
[ 5341.210935] gen_ndis_query_resp: RNDIS_OID_GEN_PHYSICAL_MEDIUM
[ 5341.211112] configfs-gadget gadget: non-core control reqa1.01 v0000 i0000 l1025
[ 5341.211151] configfs-gadget gadget: rndis reqa1.01 v0000 i0000 l1025
[ 5341.211346] configfs-gadget gadget: non-core control req21.00 v0000 i0000 l76
[ 5341.211364] configfs-gadget gadget: rndis req21.00 v0000 i0000 l76
[ 5341.211476] gen_ndis_query_resp: RNDIS_OID_802_3_PERMANENT_ADDRESS
[ 5341.211651] configfs-gadget gadget: non-core control reqa1.01 v0000 i0000 l1025
[ 5341.211707] configfs-gadget gadget: rndis reqa1.01 v0000 i0000 l1025
[ 5341.211956] configfs-gadget gadget: non-core control req21.00 v0000 i0000 l32
[ 5341.211974] configfs-gadget gadget: rndis req21.00 v0000 i0000 l32
[ 5341.212103] gen_ndis_set_resp: RNDIS_OID_GEN_CURRENT_PACKET_FILTER 0000002d
[ 5341.212273] configfs-gadget gadget: non-core control reqa1.01 v0000 i0000 l1025
[ 5341.212321] configfs-gadget gadget: rndis reqa1.01 v0000 i0000 l1025
It seems like everything is OK, but I am getting a 169.x IP and unable to connect on my PC:
Code:
enp0s20f0u1: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
inet 169.254.54.41 netmask 255.255.0.0 broadcast 169.254.255.255
inet6 fe80::af63:56b1:15ef:ad47 prefixlen 64 scopeid 0x20<link>
ether e6:c3:74:d1:fd:cf txqueuelen 1000 (Ethernet)
RX packets 94 bytes 23808 (23.2 KiB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 300 bytes 72433 (70.7 KiB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
------------
sleepy@seraph ~ $ ping 1.1.1.1
PING 1.1.1.1 (1.1.1.1) 56(84) bytes of data.
From 169.254.54.41 icmp_seq=1 Destination Host Unreachable
From 169.254.54.41 icmp_seq=2 Destination Host Unreachable
From 169.254.54.41 icmp_seq=3 Destination Host Unreachable
^C
--- 1.1.1.1 ping statistics ---
5 packets transmitted, 0 received, +3 errors, 100% packet loss, time 4090ms
pipe 4
sleepy@seraph ~ $ ping google.com
ping: google.com: Temporary failure in name resolution
In case it would be helpful, here are my kernel configs-
Board:
https://dpaste.com/DJRQCDQ7B
PC:
https://dpaste.com/BWP2KLC59
Is there something extra that I need to do to get this working-- like dnsmasq or something of the sort?