sakurai2017
2017年6月19日 10時41分
お世話になっております。
Armadillo-IoT G3LでのUSBドングルのドライバ作成についてご教授ください。
使用するUSBドングル(ID:0bda:8152 Realtek Corp.)が
IPv6: ADDRCONF(NETDEV_UP): usb0: link is not ready
のエラーにより認識されません。
用意されているドライバをダウンロードしビルドしようとしましたが、(http://www.realtek.com.tw/Downloads/downloadsView.aspx?Langid=1&PNid=14…)
Atmarkのフォーラムで報告されている同様のエラーが出たため(https://users.atmark-techno.com/comment/2910#comment-2910)クロスビルドを試みています。
コマンドは以下ですが、
[ATDE6]$ make ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- KRSC=../linux-3.14-x1-at14g
>>/usr/src/linux-headers-3.16.0-4-common/scripts/gcc-version.sh: 行 25: arm-linux-gnueabihf-gcc-4.8: コマンドが見つかりません
エラーにより先に進めません。コンパイラを指定しても、”行 25: arm-linux-gnueabihf-gccgcc-4.8: ”となります。
質問は2点です。
(1)この方針で良いでしょうか
(2)良い場合、このようなケースの対応、またはコンパイル用スクリプトがあるでしょうか。
以上、ご指導いただけると幸いです。よろしくお願いいたします。
コメント
sakurai2017
溝渕様
ご回答ありがとうございます。
書き換え後、armadilloのboot時にエラーが発生します。
作業内容とエラー内容を添付いたします。
1. initramfs_x1-[version].cpio.gzと、Linuxカーネルイメージをダウンロード。
http://armadillo.atmark-techno.com/armadillo-iot-g3l/downloads
2. アーカイブの展開
[ATDE6]$ ls
linux-3.14.38-at[version].tar.gz initramfs_x1-[version].cpio.gz
[ATDE6]$ tar xf linux-3.14.38-at[version].tar.gz
[ATDE6]$ ls
linux-3.14.38-at[version] linux-3.14.38-at[version].tar.gz initramfs_x1-[version].cpio.gz
3. initramfsアーカイブへのシンボリックリンクを作成。
[ATDE6]$ cd linux-3.14.38-at[version]
[ATDE6/linux-3.14.38-at[version]]$ ln -s ../initramfs_x1-[version].cpio.gz initramfs_x1.cpio.gz
4. カーネルコンフィギュレーションの変更
http://manual.atmark-techno.com/armadillo-iot-g3/armadillo-iotg-g3_prod…
[ATDE6/linux-3.14.38-at[version]]$ make CROSS_COMPILE=arm-linux-gnueabihf- ARCH=arm x1_defconfig
[ATDE6/linux-3.14.38-at[version]]$ make CROSS_COMPILE=arm-linux-gnueabihf- ARCH=arm menuconfig
5. ビルド
[ATDE6/linux-3.14.38-at[version]]$ make CROSS_COMPILE=arm-linux-gnueabihf- ARCH=arm
[ATDE6/linux-3.14.38-at[version]]$ make ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- LOADADDR=0x80008000 uImage
6. イメージファイルの生成確認x2
arch/arm/boot/uImage
arch/arm/boot/dts/armadillo_iotg_g3.dtb
7. Linuxカーネルイメージの書き換え
http://manual.atmark-techno.com/armadillo-iot-g3/armadillo-iotg-g3_prod…
[armadillo ~]# mount -t vfat /dev/mmcblk2p1 /mnt
[armadillo ~]# cp uImage-x1-[version] /mnt/uImage
[armadillo ~]# umount /mnt
8. DTBの書き換え
[armadillo ~]# mount -t vfat /dev/mmcblk2p1 /mnt
[armadillo ~]# cp armadillo_iotg_g3-[version].dtb /mnt/armadillo_iotg_g3.dtb
[armadillo ~]# umount /mnt 「
質問は、手順に間違っている箇所があるかどうかと、エラーの対処法です。
エラーメッセージは、こちらの報告に似ていますが。。https://armadillo.atmark-techno.com/forum/armadillo/2271
再度やり直しが必要でしょうか。確認よろしくお願いいたします。
ファイル | ファイルの説明 |
---|---|
debugmesg.txt |
sakurai2017
溝渕様
お世話になっております。
昨日のエラーの件ですが、pdfの方を参照しビルドを行ったところ、無事起動いたしました。
しかし、USBドングルの方は変わらず
IPv6: ADDRCONF(NETDEV_UP): usb0: link is not ready
のエラーにより認識されません。
カーネルコンフィギュレーションは以下を有効にしました。
該当ドライバが間違っているでしょうか。確認よろしくお願いいたします。
-> Device Drivers
-> Network device support
-> Network core driver support
->[*] Universal TUN/TAP device driver support
at_mizo
溝渕です。
> 昨日のエラーの件ですが、pdfの方を参照しビルドを行ったところ、無事起動いたしました。
同一バージョンのドキュメントの場合は、htmlとpdfの内容自体は同じですよ。
> しかし、USBドングルの方は変わらず
> IPv6: ADDRCONF(NETDEV_UP): usb0: link is not ready
> のエラーにより認識されません。
>
> カーネルコンフィギュレーションは以下を有効にしました。
> 該当ドライバが間違っているでしょうか。確認よろしくお願いいたします。
>
> -> Device Drivers
> -> Network device support
> -> Network core driver support
> ->[*] Universal TUN/TAP device driver support
TUN/TAPは無線LANドライバではありません。以下を参考にコンフィギュレーショ
ンを有効化してみてください。
https://users.atmark-techno.com/comment/2910#comment-2910
また、ファームウェアのインストールは行っていますか?
sakurai2017
溝渕様
お世話になっております。
無事動作しましたので、手順を共有させていただきます。
1. initramfs_x1-[version].cpio.gzと、Linuxカーネルイメージをダウンロード。ATDEが最新バージョンであることを確認。
http://armadillo.atmark-techno.com/armadillo-iot-g3l/downloads
http://armadillo.atmark-techno.com/atde
2. アーカイブの展開
[ATDE6]$ ls
linux-3.14.38-at[version].tar.gz initramfs_x1-[version].cpio.gz
[ATDE6]$ tar xf linux-3.14.38-at[version].tar.gz
[ATDE6]$ ls
linux-3.14.38-at[version] linux-3.14.38-at[version].tar.gz initramfs_x1-[version].cpio.gz
3. initramfsアーカイブへのシンボリックリンクを作成。
[ATDE6]$ cd linux-3.14.38-at[version]
[ATDE6/linux-3.14.38-at[version]]$ ln -s ../initramfs_x1-[version].cpio.gz initramfs_x1.cpio.gz
4. カーネルコンフィギュレーションの変更
http://manual.atmark-techno.com/armadillo-iot-g3/armadillo-iotg-g3_prod…
[ATDE6/linux-3.14.38-at[version]]$ make ARCH=arm x1_defconfig
[ATDE6/linux-3.14.38-at[version]]$ make ARCH=arm menuconfig
(入力"/"で該当ドライバを検索。)
r8152の場合、
>Device Drivers
->Network device support
->USB Network Adapters
<*>Realtek RTL8152/T|RTL8153 Based USB Ethernet
を有効にする。
5. ビルド
[ATDE6/linux-3.14.38-at[version]]$ make ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf-
[ATDE6/linux-3.14.38-at[version]]$ make ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- LOADADDR=0x80008000 uImage
6. イメージファイルの生成確認x2
arch/arm/boot/uImage
arch/arm/boot/dts/armadillo_iotg_g3.dtb
7. SDブート
8. Linuxカーネルイメージの書き換え
http://manual.atmark-techno.com/armadillo-iot-g3/armadillo-iotg-g3_prod…
[armadillo ~]# mount -t vfat /dev/mmcblk2p1 /mnt
[armadillo ~]# cp uImage-x1-[version] /mnt/uImage
[armadillo ~]# umount /mnt
9. DTBの書き換え
[armadillo ~]# mount -t vfat /dev/mmcblk2p1 /mnt
[armadillo ~]# cp armadillo_iotg_g3-[version].dtb /mnt/armadillo_iotg_g3.dtb
[armadillo ~]# umount /mnt
10. Boot後、Realtekのファームウェアのパッケージをインストール (必要ないかも)
[armadillo ~]# apt-get install firmware-realtek
11. 再起動(要root)
[armadillo ~]# reboot
エラー
IPv6: ADDRCONF(NETDEV_UP): usb0: link is not ready
は表示されますが、Ethernet2口として認識しネットワークの接続も確認しました。
at_mizo
at_mizo
2017年6月19日 10時52分
溝渕です。
> (1)この方針で良いでしょうか
あえてOut-of-treeでビルドする必要は無いかと思います。
https://users.atmark-techno.com/comment/2910#comment-2910
上記結論としては、Linuxカーネルコンフィギュレーションで該当ドライバの
有効化を行い、ファームウェアパッケージのインストールを行うことで利用可
能になっています。
ファームウェアパッケージはインストール済みですか?
> (2)良い場合、このようなケースの対応、またはコンパイル用スクリプトがあるでしょうか。
基本的には、ソースに応じたオプションの設定等があるので、汎用的なものが
あるとは考え難いです。