この記事は、NetBSD Advent Calendar 2024の19日目の記事です。
はじめに
古いAndroidスマートフォンではUSBテザリングすると、 NetBSDではurndis(4)として認識されるRemote NDIS Ethernetデバイスが見えるようになっていました。 ですが、最近のAndroidスマートフォンでは、USB Communications Device Class Ethernetのうち、Network Control ModelなEthernetデバイスが見えるようになっています。 私の使っているGoogle Pixel 7aも、このNetwork Control ModelなEthernetデバイスが見えるようになっています。 Nwtwork Control Modelなデバイスをサポートするデバイスドライバーがncm(4)として追加されたので使ってみたいと思います。
ncm(4)デバイスドライバーを確認して、使ってみる
ncm(4)なデバイスドライバーは、maya@がhttps://freshbsd.org/netbsd/src/commit/49ZHd7B7GtkYgeGFのように2025年1月20日コミットしています。 私の使っているHP Envy 14 fa0000では、USB AのコネクターにUSB A to Type-CなケーブルでGoogle Pixel 7aをつなぐと、エラーになって動かなくなってしまいます。 以下のように認識されます。
$ dmesg -t (snip) ncm0 at uhub7 port 1 configuration 1 interface 0 ncm0: Google (0x18d1) Pixel 7a (0x4eeb), rev 2.10/5.10, addr 1 ncm0: Ethernet address xx:xx:xx:xx:xx:xx
$ ifconfig ncm0 ncm0: flags=0x8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> mtu 1500 address: xx:xx:xx:xx:xx:xx status: active inet6 fe80::yyyy:yyyy:yyyy:yyyy%ncm0/64 flags 0 scopeid 0x2 inet 10.253.116.78/24 broadcast 10.253.116.255 flags 0
おわりに
Network Control ModelなEthernetデバイスは、Remote NDISなEthernetデバイスより高速に通信できるそうです。 転送速度についても、いずれ比較してみたい気がしますが、urndis(4)として認識されるAndroidスマートフォンは大昔のものしかないので、 そもそも比較する価値があるか分かりませんが…。
0 件のコメント:
コメントを投稿
注: コメントを投稿できるのは、このブログのメンバーだけです。