プログラミング
Pico WファームウェアがドライバレスUSB WiFiブリッジ(レイヤー2)を作成
Pico W firmware creates driverless USB WiFi bridge (Layer-2) (cnx-software.com)
要約
Raspberry Pi Pico WをドライバレスUSB WiFiアダプターに変換するオープンソースファームウェア「pico-usb-wifi」が登場しました。このファームウェアは、Pico Wの無線モジュールとUSBインターフェース間に透過的なレイヤー2ブリッジを実装し、Windows、Linux、macOSなどのOSで利用可能にします。低速なUSB 1.1インターフェースの制限によりスループットは平均4.75 Mbits/secですが、緊急時や予備のPico Wがある場合に役立ちます。
全文翻訳
pico-usb-wifiは、Raspberry Pi Pico WをドライバレスUSB WiFiアダプターに変換するオープンソースファームウェアプロジェクトです。これは、USB CDC-NCMをサポートするWindows、Linux、macOSなどのオペレーティングシステムで動作します。
SBCに搭載されているInfineon CYW43439チップは、USBからWiFiへのブリッジとして直接使用することはできません。代わりに、このファームウェアはPico Wの無線モジュールとUSBインターフェース間に透過的なレイヤー2ブリッジを実装します。これは基本的に、イーサネットからWiFiへのゲートウェイ/ブリッジとして機能し、ネットワークからのWiFiパケットをルーティングするために使用されるUSB(いわゆるUSBガジェットモード)を介してイーサネット接続を公開します。
画像ソース: プロジェクトのGitLabリポジトリ
pico-usb-wifiの主な特徴:
Pico Wの無線およびUSBインターフェース間の透過的なレイヤー2ブリッジ
USB CDC-NCMデバイスとして公開
NAT、プライベートサブネット、ポートフォワーディングの設定なしのIPv4およびIPv6
CDC-ACMシリアル経由のアウトオブバンド管理およびデバッグコンソール
WPA2-PSKおよびWPA3-SAE認証(およびオープンネットワーク)
スループット – 平均4.75 Mbits/sec; 主に12 Mbps USB 1.1インターフェースによって制限されます
プロジェクトのリポジトリからのもう一つのAI生成画像、接続を示すもの
低価格帯のWiFi USBドングルが2〜3ドルから入手可能であることを考慮すると、このソリューションの限定的なパフォーマンスでは、WiFi接続が必要で、手元にRaspberry Pi Pico Wが余っている緊急時以外はあまり実用的ではありません。ネイティブUSBポートでパフォーマンスを大幅に向上させることは不可能だと思いますが、開発者(白一百, baiyibai)が指摘しているように、RP2040のプログラマブルI/Oを活用するオプションがあり、Pico-100BASE-TXプロジェクトが開始点になるかもしれません。
WiFi認証情報やその他のパラメータは、管理コンソールを介して設定できます:
picocom /dev/ttyACM0 -- pico-usb-wifi v1.1.0 -- profiles: 0 saved (active: none) ssid: (unset) pass: unset country: (unset) debug: off status: associating host IPv4: (not seen yet) (set|scan|list|use|save) # scan [*] scanning... networks (3): 1 MyNetwork -47 dBm a4:b1:c2:d3:e4:f5 2 CoffeeShop -68 dBm 00:11:22:33:44:55 3 Neighbour -81 dBm 9c:65:ee:ef:27:c7 (back|join|scan|live) # join 1 [*] staged -- set pass <password> then save ... profiles: 1 saved (active: 1) ssid: MyNetwork pass: unset ... (set|scan|list|use|save) # set pass hunter2 [*] applying -- re-associating ... (set|scan|list|use|save) # save [*] saved to flash
12345678910111213141516171819202122232425262728
picocom /dev/ttyACM0 -- pico-usb-wifi v1.1.0 -- profiles: 0 saved (active: none) ssid: (unset) pass: unset country: (unset) debug: off status: associating host IPv4: (not seen yet)(set|scan|list|use|save) # scan[*] scanning... networks (3): 1 MyNetwork -47 dBm a4:b1:c2:d3:e4:f5 2 CoffeeShop -68 dBm 00:11:22:33:44:55 3 Neighbour -81 dBm 9c:65:ee:ef:27:c7(back|join|scan|live) # join 1[*] staged -- set pass <password> then save... profiles: 1 saved (active: 1) ssid: MyNetwork pass: unset...(set|scan|list|use|save) # set pass hunter2[*] applying -- re-associating...(set|scan|list|use|save) # save[*] saved to flash
/dev/ttyACM0管理ポートの他に、/tty/ttyACM1ポートがデバッグに使用されます。Pico Wボード用に設計されていますが、後者のためにコンパイルすればPico 2 Wでも動作する可能性があります(未確認)。
このプロジェクトはClaude Code(約100万トークン使用)で設計されており、ソースコード(PicoSDKベースのC言語)、仕組みに関する説明、ソースからのファームウェアのビルド手順はGitLabで見つけることができます。Alternatively、pico-usb-wifi.uf2バイナリをダウンロードしてボードに直接インストールすることもできます。
Via Adafruit
Jean-Luc Aufranc (CNXSoft)
Jean-Lucは2010年にCNX Softwareを副業として開始し、ソフトウェアエンジニアリングマネージャーの職を辞めた後、2011年に毎日ニュースとレビューをフルタイムで執筆し始めました。
共有: