どうも最終版では固まったりしていた
そこでカーネルソースの入手方法を変更した。
rpi-update
reboot
apt-get install bc
kernelソースを入手
cd /usr/src
git clone –depth 1 https://github.com/raspberrypi/linux.git -b rpi-4.4.y
git clone –depth 1 https://github.com/raspberrypi/firmware.git
cd linux
modprobe configs
zcat /proc/config.gz > .config
cp ../firmware/extra/Module7.symvers Module.symvers
カーネルのコンパイル
make oldconfig
make -j 4 zImage modules dtbs
make modules_install
cp arch/arm/boot/dts/*.dtb /boot/
cp arch/arm/boot/dts/overlays/*.dtb* /boot/overlays/
cp arch/arm/boot/dts/overlays/README /boot/overlays/
cp /boot/kernel7.img /boot/kernel7.img.old
scripts/mkknlimg arch/arm/boot/zImage /boot/kernel7.img
reboot
GW-450Dのwifi driver インストール
https://www.planex.co.jp/support/download/gw-450d/driver_linux.shtml ここからドライバを入手
cp /home/pi/Downloads/gw-450d_driver_linux_v3002.zip /usr/local/src
cd /usr/local/src
unzip gw-450d_driver_linux_v3002.zip
tar xvjf mt7610u_wifi_sta_v3002_dpo_20130916.tar.bz2
cd mt7610u_wifi_sta_v3002_dpo_20130916
https://gist.github.com/moutend/cb35a37297910c99d3e2 ここを参考にした
vi os/linux/config.mk
-HAS_WPA_SUPPLICANT=n
+HAS_WPA_SUPPLICANT=y
-HAS_NATIVE_WPA_SUPPLICANT_SUPPORT=n
+HAS_NATIVE_WPA_SUPPLICANT_SUPPORT=y
-CHIPSET_DAT = 2860
+CHIPSET_DAT = 2870
endif |
ifneq ($(or $(findstring mt7662e,$(CHIPSET)),$(findstring mt7612e,$(CHIPSET))),) |
vi conf/RT2870STA.dat
-CountryCode=
+CountryCode=JP
-SSID=11n-AP
+SSID=
-AuthMode=OPEN
-EncrypType=NONE
+AuthMode=WPA2PSK
+EncrypType=AES
vi os/linux/rt_linux.c
– if (osfd->f_op && osfd->f_op->read) {
– return osfd->f_op->read(osfd, pDataPtr, readLen, &osfd->f_pos);
+ if (osfd->f_op) {
1
|
<span class=“pl-mi1”>+ return __vfs_read(osfd, pDataPtr, readLen, &osfd–>f_pos);</span>
|
vi include/os/rt_linux.h
– int fsuid;
– int fsgid;
+ kuid_t fsuid;
+ kgid_t fsgid;
vi common/rtusb_dev_id.c
+ {USB_DEVICE(0x2019,0xAB31)}, /* GW-450D */
http://neuralassembly.blogspot.jp/2015/09/raspberry-pi-2-kernel-416-5ghzwifigw.html ここを参考にした
vi sta/sta_cfg.c
– snprintf(extra, size, “Driver version-%s, %s %s\n”, STA_DRIVER_VERSION, __DATE__, __TIME__ );
+ snprintf(extra, size, “Driver version-%s\n”, STA_DRIVER_VERSION);
vi common/cmm_info.c
– DBGPRINT(RT_DEBUG_TRACE, (“Driver version-%s %s %s\n”, STA_DRIVER_VERSION, __DATE__, __TIME__));
+ DBGPRINT(RT_DEBUG_TRACE, (“Driver version-%s\n”, STA_DRIVER_VERSION));
make
make install
rm -r /etc/Wireless/RT2860STA
mkdir -p /etc/Wireless/RT2870STA
cp conf/RT2870STA.dat /etc/Wireless/RT2870STA/RT2870STA.dat
コメント