【※ 当記事は2020年7月2日時点の情報です】
ペイヴメント(@pavement1234)です。
例えばRaspberry Piみたいな組込デバイスに接続したい。
バージョン情報
Linux Kernel 3.14
IntelのN-6300という無線LANカード
古いパソコンから抜き取ったN-6300というIntelの無線LANカード。
Intel公式サイトにN-6300の仕様が載ってます。
当たり前ですがディスコン(生産中止)です。
発売日:2011
ステータス:Discontinued
アンテナ:3×3
バンド: 2.4 GHz/5 Ghz
最高速:450 Mbps
Wi-Fi認定: 802.11a/g/n
内蔵Bluetooth:いいえ
コンプライアンス: PCI, CISP, FIPS, FISMA
ボード・フォーム・ファクター:PCIe Half MiniCard(要はminiPCIe)
システムインターフェースタイプ:PCIe
MU-MIMO:いいえ
見た目はこんな感じ。
とりあえずMACアドレスはマスクしておきました。
D P/N:04W00N0 REV A05
DELLで番号が振りなおされてる模様。
そういえば、この無線LANカードはDELLのPCから引っこ抜いたものだった
CN-04W00N-14084-3C8-07VO-A05
4W00Nが部品番号みたい。
QRコードはこれを指してる。
MAC:xx xx xx xx xx xx
言わずもがなMACアドレスですね
TA:E67160-013
いまいちわからん。誰か教えてくれ
組み込みデバイスにつなぐには
IntelのN-6300というminiPCIeの無線LANカード。
これをminiPCIeで組込ボードに接続するにはどうすればよいか?
①Raspberry Pi 3 B+にはminiPCIeがついてない
薄々気づいてましたが
Raspberry Pi 3 B+にはN-6300を接続するためのminiPCIeがありません。
困ったなぁ…。
昔持ってたけど断捨離で捨てちゃったIntelのGalileo(廃版)には
miniPCIeが付いてたんですよね。
今持ってるボードでPCIeがつながるものが無いか調べてみたら
Jetson Nanoが対応してそうですがM.2なので今回はパス。
i.MX6 Sabre LiteはminiPCIeの変換ボードがありそうということが分かったので
今回はi.MX6 Sabre Liteを選択。
Raspberry Pi 3 B+ なし
Raspberry Pi 1 なし
Dragonboard 410c なし
Altera DE0 nano SoC なし
NXP i.MX6 Sabre Lite(Boundary Device)あり(但し変換ボードが必要)
NVIDIA Jetson Nano あり(但しM.2)
ちなみにJetson NanoのM.2はこんな感じ。
ちなみに、M.2(エムドットツー)って
旧称:NGFF(Next Generation Form Factor)だそうで。
M.2(エムドットツー)
(旧称: Next Generation Form Factor、NGFF)は、
コンピュータの内蔵拡張カードのフォームファクタと
接続端子について定めた規格である。
M.2はmSATAの後継として開発された。
機能性に優れカードの幅や長さについてもより柔軟性を持つことから、
SSDやそれを組み込むウルトラブックや
タブレットコンピュータなどの小さいデバイスに適した規格とされる。
M.2は本質的にはSATA Expressの小型版といえる。
M.2の提供するバスインターフェイスは
論理的にはSATA Expressの上位互換である。
M.2はSATA Expressの持つPCI ExpressとSATA 3.0との互換性に加えて、
USB 3.0との内部互換性を備える。
M.2端子には一つ以上の切り欠きがあり、
組み合わせで機器のタイプを示す。
M.2の拡張カードには、
Wi-Fi、Bluetooth、GPS、NFC、デジタルラジオ、WiGig、WWAN、SSDなど
様々な機能を持たせることができる。
バス方式はPCI Express、Serial ATA 3.0、
USB 3.0(USB 2.0と下位互換)の三種類が提供される。
SATA規格ではrevision 3.2で新たに
M.2についてのハードウェアレイアウトを定めている。
M.2は4つのPCI Expressレーンと
1つのSATA 3.0 6Gbpsポートを一つの端子内に備えており、
PCI Express機器とSATAストレージ機器を
M.2カードとして接続することができる。
PCI Expressレーンはストレージ機器から見て
通常のPCI Expressと全く同じに、追加の抽象化なく接続できる。
2013年12月、PCI-SIG(英語版)は、
M.2規格 1.0でM.2について定めている。
②i.MX6 Sabre LiteにPCIeを増設するには?
さて、i.MX6 Sabre Lite。
要は下の写真の黄色枠にピンヘッダが出てるので、
ここからminiPCIeに変換すれば良いのでしょう。
しかしPCIeみたいな高速I/Fをこんなピンでつないで
信号品質を保てるのでしょうか…。
ちょっと調べたら出てきた。
Boundary Devices ドーターカードとOEMボード
Boundary Devices Nit6X_PCIEに詳細が載ってる。
この写真はだけでは良く分からないので…。
Nit6X_PCIE データシートを見たところ違う画像がありました。
通販サイトの画像と違うがどっちが正しいのでしょう。
ちなみに私が持ってるSabre LiteとNit6S_PCIEをつなぐには、
ジャンパ線が必要みたいです。
更にNit6X_PCIE(公式)を見るとこんな画像が出てきます。
なんか通販サイトの画像と違うけど、
型番は一緒だしデータシートの画像と同じなのでこれが正しいんですかね?
mPCIE daughter board for i.MX6 boards Compatible with Nitrogen6X and BD-SL-i.MX6 boardと書いてあり一安心
(取り急ぎポチりました)。
③USB3.0からminiPCIeを引っ張れないか?
とりあえずi.MX6ボードにminiPCIeを拡張できる目途が立ったのですが、
USB 3.0規格のFAQ(1) ―― 信号波形からSuperSpeed USBを理解しようにある通り、
USB3.0はPCIeと物理層が一緒のようです。
それならUSB3.0に対応してるRaspberry Pi 4のUSB3.0ポートを
miniPCIeに変換できるアダプタは無いものか?
色々調べましたが現時点(2019年9月)ではドンピシャな製品は無いみたいですが、
類似のことを考えた人がいるのを発見。
ina_aniさんのツイートを見ると
Raspberry Pi 4のUSBはPCI Express接続なのでUSBコントローラを剥がしてPCIeボードを繋いだ様子。
ツワモノですね。
ツイートから飛ぶと
HACKADAYというサイトのGiving The Pi 4 PCI Expressという記事が出てきます。
現状ここまでやりたいわけではありません。
単にUSB3.0からminiPCIeが引っ張れればよいのです。
まぁいつか製品化する人が出てくるだろうと思うので、
しばし待つことにしました。
まとめ
IntelのN-6300という無線LANカードの基礎知識、
miniPCIeの無線LANカードを組み込みデバイスにつなぐ方法を調査しました。