ソースの表示以前のリビジョンバックリンク全て展開する/折り畳む文書の先頭へ Share via Share via... Twitter LinkedIn Facebook Pinterest Telegram WhatsApp Yammer Reddit Teams最近の変更Send via e-Mail印刷パーマリンク × Intel NUC DN2820FYKHでNAS4Freeが動かない→解決 実家にNASを設置しようと思い、7月頃にDN2820FYKHを買ったものの延々放置していた。 ようやく昨日から手を付けだし、使い慣れたNAS4FreeをUSBメモリに書き込んでお手軽NASゲットだぜ!!と思いきや、ブートシーケンスでカーネルパニック起こしやんの。これはBIOSを最新にしたら直ったが、今度はNICを認識してねぇ! dmesgを見るとre0を生やそうとしてるが「re0: Unknown H/W revision: 0x4c000000」というエラーで蹴られるっぽい。DN2820FYKHのNICはRTL8111Gで、エラーメッセージの通りRTL8111のリビジョン違いらしく、NAS4Free 9.2.0.1というかFreeBSD 9.2-RELEASEではサポートされていない模様。9.2Rのリリース直後、2013年11月頭にパッチが投下されているので、9.3-RELEASEには取り込まれていると思われる。 早いところ、NAS4Freeが9.3Rベースになってくれれば良いんだけどなー。とりあえず、自分でパッチを当ててNAS4Freeをビルドするか、if_re.koを作るかするしかないか…。 自前if_re.koのインストール (2014-12-01 追記) if_re.koを自分で作ったら上手く動いたので、以下、手順。 if_re.koのビルド FreeBSD 9.2-RELEASE環境が必要。うちは家鯖が丁度9.2だったが、環境がなければ仮想マシンで仕立てるのが手っ取り早いかと。その場合はカーネルソースも忘れずにインストールの事。 Realtekからドライバのソースを落とす。「FreeBSD 7.x and 8.0」となっているが、9.0系でも使える。 展開 tar xvzf rtl_bsd_drv_v188.tgz cd rtl_bsd_drv_v188 ソース修正 そのままではコンパイルが通らないので、if_re.cの75行目らへんを修正。 #include <dev/re/if_rereg.h> ↓ #include "if_rereg.h" make 問題なければカレントディレクトリにif_re.koが出来てるハズ。システム標準のものに比べると、サイズがやたらデカイのが少々気掛かり。 NAS4Freeに組み込む 出来上がったif_re.koをFATなUSBメモリにコピーし、DN2820FYKHのNAS4Freeが起動したら挿す。USB周りでエラーっぽいメッセージが出るかもしれないが、まぁ気にしない。以下、挿したUSBはda1として話を進める。 NAS4Freeのコンソールメニューからシェルに落ちる(確か6番)。 USBをマウント mkdir /tmp/usb mount_msdosfs /dev/da1s1 /tmp/usb # da1s1は適宜読み替えの事 if_re.koが読み込めるかテストする。読み込めなければ作成に失敗してると思われる。 kldload usb/if_re.ko if_re.ko.gzの作成 cd /tmp cp usb/if_re.ko /tmp gzip -9 if_re.ko NAS4Freeの起動USBをマウントし直す。 NAS4Freeの起動ディスクは読込み専用でマウントされているので、書き込み出来るようにマウントし直す必要がある。 umount /cf mkdir cf mount /dev/da0s1a /tmp/cf if_re.ko.gzをコピー cp if_re.ko.gz cf/boot/kernel loader.conf.localを編集 if_re.koを読み込むように設定。 echo 'if_re_ko = "YES"' >> cf/boot/loader.conf.local 再起動 reboot これでNAS4Free 9.2.0.1でRTL8111Gが使えるようになる。 start.txt 最終更新: 2022-07-27 15:26by Decomo