diff options
author | Romano <unobe@cpan.org> | 2021-04-01 12:54:08 +0200 |
---|---|---|
committer | Romano <unobe@cpan.org> | 2021-04-01 12:54:08 +0200 |
commit | a398a097831f619fbebf064134b8931cb24ca051 (patch) | |
tree | d4a6fa871798077575e518fa4cacfcba7699598e /sys/src | |
parent | fcc93463a3e2fec9738330b1d82a11b077c96315 (diff) |
[9front] [patch] nusb/ether -t rndis
Diffstat (limited to 'sys/src')
-rwxr-xr-x | sys/src/9/boot/nusbrc | 7 | ||||
-rw-r--r-- | sys/src/cmd/nusb/ether/rndis.c | 3 |
2 files changed, 7 insertions, 3 deletions
diff --git a/sys/src/9/boot/nusbrc b/sys/src/9/boot/nusbrc index bf3c311e0..43ce0a6e1 100755 --- a/sys/src/9/boot/nusbrc +++ b/sys/src/9/boot/nusbrc @@ -34,8 +34,11 @@ if(! nusb/usbd) case *03 nusb/kb $id case *02 - # CDC ethernet - nusb/ether $etherargs $id + # RNDIS, otherwise CDC ethernet + if(~ $4 ff0202) + nusb/ether -t rndis $etherargs $id + if not + nusb/ether $etherargs $id case *08 if(nusb/disk $id) @{ rfork ne diff --git a/sys/src/cmd/nusb/ether/rndis.c b/sys/src/cmd/nusb/ether/rndis.c index 68985a3e9..71640f7c7 100644 --- a/sys/src/cmd/nusb/ether/rndis.c +++ b/sys/src/cmd/nusb/ether/rndis.c @@ -118,7 +118,8 @@ rndisinit(Dev *d) for(i = 0; i < nelem(d->usb->ep); i++){ if((ep = d->usb->ep[i]) == nil) continue; - if(ep->iface->csp == 0x000301e0) + // ff0202 is canonical CSP per Linux kernel; 301e0 used by Nexus 5 + if(ep->iface->csp == 0xff0202 || ep->iface->csp == 0x000301e0) r = 1; } if(!r){ |