新しいAndroidスマートフォンのUSBテザリングをNetBSDから利用する

この記事は、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 件のコメント:

コメントを投稿

注: コメントを投稿できるのは、このブログのメンバーだけです。

NetBSD上でDeepSeek R1 LLMを動かしてみる

この記事は、 NetBSD Advent Calendar 2024 の21日目の記事です。 はじめに 中国のHangzhou DeepSeek Artificial Intelligence Basic Technology Research Co., L...