パスワードを忘れた? アカウント作成
13984973 journal
日記

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 これは以前同様の手順ですんなりビルドできた。
    1. git clone https://github.com/minjae/rtl8821au.git /usr/src/minjae_rtl8821au-2019.01.23
    2. usb_intf.c に以下を追記 {USB_DEVICE(0x0411, 0x029b),.driver_info = RTL8821}, /* Buffalo - WI-U2-433DHP */
    3. 他のリポジトリにある dkms.conf をコピー。
    4. 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になったのでビルド等についてはけっこう快適です。

この議論は賞味期限が切れたので、アーカイブ化されています。 新たにコメントを付けることはできません。
  • by Anonymous Coward on 2019年08月20日 13時37分 (#3671989)
    • なぜ5.2.9の時代に4.19の話をしているのかわからない。
    • なぜはじめからついているIntel 3165ではなく、rtl8812auを使いたいのかわからない。
    • 「Intelは対hostapd用にファームウェアで5G帯殺してるから嫌い」という定番ネタだったと仮定してもrtl8812auを選択した意味がわからない。
    • 仮に5G帯の話だったとしても、どんだけ高いっても2000~3000円の話なのにAtheros WLANに交換しない意味がわからない。
    • そもそも5G帯を使いたいと仮定した話であって、これで2.4G帯しか使っていなかったりしたらますます3165使わない意味がわからない。
    • なにげなくWI-U2-433DHPをググってみて、802.11acが1300Mbpsどころか867Mbpsにすら未対応な事実を知り愕然とする。 ← イマココ

    5G帯使ってもたったの433Mbpsなら2.4G帯で300Mbpsで使うのと大差ないだろ。

    つまり、

    5G帯使いたい:
    → どうせ433Mbpsしか使えないのだから、素直に3165で2.4G帯使え。

    867Mbps以上の速度が欲しい:
    → Atherosモジュール買ってきて3165と交換しろ。

    アンテナ弱すぎ:
    → 500~2000円くらいで売ってるWi-Fi用の高利得アンテナ買ってこい。

    • 一応補足だけしておくと

      > なぜ5.2.9の時代に4.19の話をしているのかわからない。
      ⇒CentOS、Debian あたりの安定版を使うと、カーネルは 4.18とか4.19とかそのあたりになるんですよ。

      > なぜはじめからついているIntel 3165ではなく、rtl8812auを使いたいのかわからない。
      ⇒隣の部屋まで届きにくい(パケットロスが多発する)ので。もちろん2.4GHz帯です。

      > アンテナ弱すぎ:
      > → 500~2000円くらいで売ってるWi-Fi用の高利得アンテナ買ってこい。
      ⇒えーっと…それってこの製品 [yodobashi.com]に取り付けられるんです?

      --
      # mishimaは本田透先生を熱烈に応援しています
      親コメント
  • by stat (28781) <28781NO@SPAMa2the.net> on 2019年08月20日 21時40分 (#3672388) 日記
    debian9/10 でネットワークカードの名前にレガシーな wlan0/eth0 を使いたい場合、
    /etc/default/grub に
    GRUB_CMDLINE_LINUX="net.ifnames=0 biosdevname=0"
    と書いて
    # update-grub
    するといいです。
    • by mishima (737) on 2019年08月21日 9時18分 (#3672576) ホームページ 日記

      情報ありがとうございます。
      ただ、名前ルール変更はDebianのポリシーによるものであって今後のリリースでも
      継続すると考えられるので、今の時点で特定NICのみピンポイントで対策できるように
      しておきたいと思ってudevを考えています。

      --
      # mishimaは本田透先生を熱烈に応援しています
      親コメント
typodupeerror

普通のやつらの下を行け -- バッドノウハウ専門家

読み込み中...