mishimaの日記: Linuxの無線LANふたたび 4
日記 by
mishima
ちっちゃいLinux Boxに無線LANアダプタを付けてルータにしてたのだけど、そのマシンのHDDが死んでしまったらしく動かなくなった。
そこで新しい小型PCを購入(最近はOSレスで2万でそこそこのものが買えるんですね)、
古いマシンで使っていた BAFFALO の無線LANアダプタ(WI-U2-433DHP)を付け替えてみたんだけど…
- OS が Debian buster になってカーネルが 4.19 に上がった
- https://github.com/diederikdehaas/rtl8812AU.git このソースだとポインタの型が変更になってビルドもできない。そこだけローカルに変更を入れてビルドだけは通してみたけど…動かない(hostapd を動かしたらOSがハングした)。
- rtl8821のドライバはだいたい rtl8812 とリポジトリに入ってることが多いので、GitHubで「rtl8812au」で検索してみたけど…たくさんあって困る。
- いくつかDLしてビルドを試してみるけど、基本的に rtl8812 中心でメンテされているようで、全然ビルドできない。
- じゃあrtl8821中心でメンテされているものを…と思ってGitHubで「rtl8821au」を検索すると…これもそこそこたくさん出てくる
- スターの多いものから順に試してみる
- https://github.com/ulli-kroll/rtl8821au.git これもビルドできない。かなり多くのエラーが出たのでとりあえずあきらめる。
- https://github.com/minjae/rtl8821au.git これは以前同様の手順ですんなりビルドできた。
- git clone https://github.com/minjae/rtl8821au.git /usr/src/minjae_rtl8821au-2019.01.23
- usb_intf.c に以下を追記 {USB_DEVICE(0x0411, 0x029b),.driver_info = RTL8821}, /* Buffalo - WI-U2-433DHP */
- 他のリポジトリにある dkms.conf をコピー。
- dkms install minjae_rtl8821au/2019.01.23
- しかしmodprobe で組み込もうとすると「Unknown symbol __vfs_read」のエラーが。エラーメッセージでググると「sed -i -e "s/__vfs_read/kernel_read/" os_dep/osdep_service.c でイケる」という情報があったので再トライ。今度はちゃんと組み込み成功。
- NICの名前を見ると… enXXXXXXXXXXXX みたいな変な名前。MACアドレス? しかもOS再起動や rmmod + modprobe のたびに名前が変わる。ネットワークの設定が書けないじゃん!
- どうも Debian buster から NIC の名称に予測可能な名前 を採用したらしい。なぜかはわからないけどアダプタから固定のMACアドレスが取得できないみたいなので、その影響でNICの名前が毎回違ってしまう、と。
- udevで固定化させる方法を検討中←いまここ
なるほど、Linuxの無線LANのドライバ周りは確かに苦労するわ…
ただ、今度の新しいマシンはSSDになったのでビルド等についてはけっこう快適です。
なにをやってるのかわからない... (スコア:1)
5G帯使ってもたったの433Mbpsなら2.4G帯で300Mbpsで使うのと大差ないだろ。
つまり、
5G帯使いたい:
→ どうせ433Mbpsしか使えないのだから、素直に3165で2.4G帯使え。
867Mbps以上の速度が欲しい:
→ Atherosモジュール買ってきて3165と交換しろ。
アンテナ弱すぎ:
→ 500~2000円くらいで売ってるWi-Fi用の高利得アンテナ買ってこい。
Re:なにをやってるのかわからない... (スコア:1)
一応補足だけしておくと
> なぜ5.2.9の時代に4.19の話をしているのかわからない。
⇒CentOS、Debian あたりの安定版を使うと、カーネルは 4.18とか4.19とかそのあたりになるんですよ。
> なぜはじめからついているIntel 3165ではなく、rtl8812auを使いたいのかわからない。
⇒隣の部屋まで届きにくい(パケットロスが多発する)ので。もちろん2.4GHz帯です。
> アンテナ弱すぎ:
> → 500~2000円くらいで売ってるWi-Fi用の高利得アンテナ買ってこい。
⇒えーっと…それってこの製品 [yodobashi.com]に取り付けられるんです?
# mishimaは本田透先生を熱烈に応援しています
wlan0 (スコア:1)
/etc/default/grub に
GRUB_CMDLINE_LINUX="net.ifnames=0 biosdevname=0"
と書いて
# update-grub
するといいです。
Re:wlan0 (スコア:1)
情報ありがとうございます。
ただ、名前ルール変更はDebianのポリシーによるものであって今後のリリースでも
継続すると考えられるので、今の時点で特定NICのみピンポイントで対策できるように
しておきたいと思ってudevを考えています。
# mishimaは本田透先生を熱烈に応援しています