ジャンル不定の日記です。

RTL8189FTV用ドライバの作成に失敗・・・

Orange pi R1のwifiチップはRTL8189FTVなわけだが、
https://linux-sunxi.org/Wifi によると
$ git clone https://github.com/jwrdegoede/rtl8189ES_linux.git
$ cd rtl8189ES_linux.git git
$ checkout -B rtl8189fs origin/rtl8189fs
$ make -j4 ARCH=arm CROSS_COMPILE=arm-linux-gnu- KSRC=../linux
で作れるぽいことが書いてある。

クロスコンパイラは手元のに合わせてやってみたが、
  LD [M]  /run/media/user/1c2f8fa0-9a7c-4de1-b384-9d5e79bbf856/src/opi-r1/rtl8189ES_linux/8189fs.o
  Building modules, stage 2.
  MODPOST 1 modules
ERROR: "wiphy_free" [/run/media/user/1c2f8fa0-9a7c-4de1-b384-9d5e79bbf856/src/opi-r1/rtl8189ES_linux/8189fs.ko] undefined!
ERROR: "cfg80211_unlink_bss" [/run/media/user/1c2f8fa0-9a7c-4de1-b384-9d5e79bbf856/src/opi-r1/rtl8189ES_linux/8189fs.ko] undefined!
.
.
.
ERROR: "cfg80211_inform_bss_frame_data" [/run/media/user/1c2f8fa0-9a7c-4de1-b384-9d5e79bbf856/src/opi-r1/rtl8189ES_linux/8189fs.ko] undefined!
make[2]: *** [scripts/Makefile.modpost:94: __modpost] エラー 1
make[1]: *** [Makefile:1609: modules] エラー 2
make[1]: ディレクトリ '/run/media/user/1c2f8fa0-9a7c-4de1-b384-9d5e79bbf856/src/opi-r1/linux' から出ます
make: *** [Makefile:1719: modules] エラー 2
途中省略したが、stage 2に移行したあとに作業ディレクトリに 8189fs.ko が見つからないと大量に言われて失敗した。
8189fs.koはないが、8189fs.oはできあがってる。
本来ならstage1の最後に.oを元に.koが作成されるぽい?

解決方法がわからずとりあえず断念したが、
linuxの方を、
$ git clone git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git --depth=1
で持ってきてたが、これ開発版みたい。
それが問題な可能性も考えて、
$ git clone git://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git -b linux-5.4.y --depth=1
$ make ARCH=arm CROSS_COMPILE=arm-none-eabi- sunxi_defconfig
$ make ARCH=arm CROSS_COMPILE=arm-none-eabi- zImage
$ make ARCH=arm CROSS_COMPILE=arm-none-eabi- dtbs
で作り直した。
git://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git の方が安定版で、ブランチlinux-5.4.yが最新版。

だが、結局同じエラーに。
作り直したkernelはまだ試してない。

RTL8189FTVが使えないとどうしようもないのでどうにかする。
wifiの使えた miZy のモジュールは 8189es だったんでたぶんこれだが、kernelが3.4だったはず。
解決できないようならArmbianの方も確認して、8189esのlinux 3.4だったらlinux-sunxiのカーネルだろうからそっち試してみるか・・・