编译Openwrt固件/默认开启wifi

编译Openwrt固件/默认开启wifi

 

本文转自:http://blog.chinaunix.net/uid-9688646-id-5029122.html

 

修改的文件为 ./package/kernel/mac80211/files/lib/netifd/wireless/mac80211.sh
config wifi-device  radio$devidx
        option type     mac80211
        option channel  ${channel}
        option hwmode        11${mode_11n}${mode_band}
$dev_id
$ht_capab
        # REMOVE THIS LINE TO ENABLE WIFI:
        # option disabled 1

config wifi-iface
        option device   radio$devidx
        option network  lan
        option mode     ap
        option ssid     Hello-World
        option encryption none
        option disabled 0
EOF
        devidx=$(($devidx + 1))
        done


编译Openwrt固件/默认开启wifi

< 编译Openwrt固件

Contents

[ hide]
  • 1 起因
  • 2 实验尝试
  • 3 想法
  • 4 源码中位置
  • 5 修改
    • 5.1 关闭wifi,修改热点名
  • 6 见识
    • 6.1 如何编译openwrt,无线默认打开和修改SSID名称? - OPENWRT专版 - 恩山WIFI论坛 - Powered by Discuz! 沿途见识[1]
    • 6.2 [OpenWrt] openwrt的一些琐事 - sydjm的专栏 - 博客频道 - CSDN.NET 沿途见识[2]
  • 7 引用信息

起因

  • 虽然单独置入wireless文件也不错,但是它是绑定mac地址的,所以再深入一点,就是这里做的

实验尝试

  • 在WR703中的确是最终生成wifi的配置的是
/lib/wifi/mac80211.sh
  • 可以修改它折腾它
  • 然后测试它,通过
rm -f /etc/config/wireless; wifi detect > /etc/config/wireless
  • 接着查看变化后的配置文件
cat /etc/config/wireless

想法

  • 可以通过直接覆盖wireless配置文件做到
  • 但是不够可爱,因为作为一份固件的话,它看起来不能适应不同的情况

源码中位置

  • 看起来是在一个mac80211的包里面
openwrt/trunk/package/mac80211/files/lib/wifi/mac80211.sh

修改

关闭wifi,修改热点名

  • 14.07 BB版本的修改
[版本]14.07总是难以记得,听起来就像14.09哈!
  1.                 cat <
  2. config wifi-device  radio$devidx
  3.         option type     mac80211
  4.         option channel  ${channel}
  5.         option hwmode   11${mode_band}
  6. $dev_id
  7. $ht_capab
  8.         # REMOVE THIS LINE TO ENABLE WIFI:
  9.         # option disabled 1
  10.  
  11. config wifi-iface
  12.         option device   radio$devidx
  13.         option network  lan
  14.         option mode     ap
  15.         option ssid     'OpenWrt SLboat Mod' 
  16.         option encryption none
  17.  
  18. EOF
  19.         devidx=$(($devidx + 1))
  20.         done
  21. }
  22.  
  23. # base on ORG version:14.07,r42656
  24. # this file has mod by slboat,most mod for default wifi config file,so can default enable it
  25. # org file is inside the source: package/mac80211/files/lib/wifi/mac80211.sh
  26. # how we mod it:
  27. # http://see.sl088.com/id/1xm
  • 12.09版本的修改
  1. config wifi-device  radio$devidx
  2. 	option type mac80211
  3. 	option channel ${channel}
  4. 	option macaddr	$(cat /sys/class/ieee80211/${dev}/macaddress)
  5. 	option hwmode 11${mode_11n}${mode_band}
  6. $ht_capab
  7. 	# REMOVE THIS LINE TO DISABLE WIFI - SLBoat Mod:
  8. 	# option disabled 1
  9.  
  10. config wifi-iface
  11. 	option device   radio$devidx
  12. 	option network  lan
  13. 	option mode     ap
  14. 	option ssid 'OpenWrt SLBoat Mod' 
  15. 	option encryption none
  16.  
  17. EOF
  18. 	devidx=$(($devidx + 1))
  19. 	done
  20. }
  21.  
  22. # ORG version:12.09-rc1
  23. # this file has mod by slboat
  24. # org file is inside the source: package/mac80211/files/lib/wifi/mac80211.sh
  25. # how we mod it :
  26. # http://see.sl088.com/wiki/Openwrt_%E5%9B%BA%E4%BB%B6%E7%BC%96%E8%AF%91/%E9%BB%98%E8%AE%A4%E5%BC%80%E5%90%AFwifi

见识

如何编译openwrt,无线默认打开和修改SSID名称? - OPENWRT专版 - 恩山WIFI论坛 - Powered by Discuz! 沿途见识[1]

vade 发表于 2011-5-25 12:01
多谢 xujifsad, 搞定了。

修改的文件为 openwrt/trunk/package/mac80211/files/lib/wifi/mac80211.sh, ...

config wifi-device  radio$devidx
        option type     mac80211
        option channel  ${channel}
        option hwmode        11${mode_11n}${mode_band}
$dev_id
$ht_capab
        # REMOVE THIS LINE TO ENABLE WIFI:
        # option disabled 1

config wifi-iface
        option device   radio$devidx
        option network  lan
        option mode     ap
        option ssid     Hello-World
        option encryption none
        option disabled 0
EOF
        devidx=$(($devidx + 1))
        done

编译Openwrt固件/默认开启wifi

< 编译Openwrt固件

Contents

[ hide]
  • 1 起因
  • 2 实验尝试
  • 3 想法
  • 4 源码中位置
  • 5 修改
    • 5.1 关闭wifi,修改热点名
  • 6 见识
    • 6.1 如何编译openwrt,无线默认打开和修改SSID名称? - OPENWRT专版 - 恩山WIFI论坛 - Powered by Discuz! 沿途见识[1]
    • 6.2 [OpenWrt] openwrt的一些琐事 - sydjm的专栏 - 博客频道 - CSDN.NET 沿途见识[2]
  • 7 引用信息

起因

  • 虽然单独置入wireless文件也不错,但是它是绑定mac地址的,所以再深入一点,就是这里做的

实验尝试

  • 在WR703中的确是最终生成wifi的配置的是
/lib/wifi/mac80211.sh
  • 可以修改它折腾它
  • 然后测试它,通过
rm -f /etc/config/wireless; wifi detect > /etc/config/wireless
  • 接着查看变化后的配置文件
cat /etc/config/wireless

想法

  • 可以通过直接覆盖wireless配置文件做到
  • 但是不够可爱,因为作为一份固件的话,它看起来不能适应不同的情况

源码中位置

  • 看起来是在一个mac80211的包里面
openwrt/trunk/package/mac80211/files/lib/wifi/mac80211.sh

修改

关闭wifi,修改热点名

  • 14.07 BB版本的修改
[版本]14.07总是难以记得,听起来就像14.09哈!
  1.                 cat <
  2. config wifi-device  radio$devidx
  3.         option type     mac80211
  4.         option channel  ${channel}
  5.         option hwmode   11${mode_band}
  6. $dev_id
  7. $ht_capab
  8.         # REMOVE THIS LINE TO ENABLE WIFI:
  9.         # option disabled 1
  10.  
  11. config wifi-iface
  12.         option device   radio$devidx
  13.         option network  lan
  14.         option mode     ap
  15.         option ssid     'OpenWrt SLboat Mod' 
  16.         option encryption none
  17.  
  18. EOF
  19.         devidx=$(($devidx + 1))
  20.         done
  21. }
  22.  
  23. # base on ORG version:14.07,r42656
  24. # this file has mod by slboat,most mod for default wifi config file,so can default enable it
  25. # org file is inside the source: package/mac80211/files/lib/wifi/mac80211.sh
  26. # how we mod it:
  27. # http://see.sl088.com/id/1xm
  • 12.09版本的修改
  1. config wifi-device  radio$devidx
  2. 	option type mac80211
  3. 	option channel ${channel}
  4. 	option macaddr	$(cat /sys/class/ieee80211/${dev}/macaddress)
  5. 	option hwmode 11${mode_11n}${mode_band}
  6. $ht_capab
  7. 	# REMOVE THIS LINE TO DISABLE WIFI - SLBoat Mod:
  8. 	# option disabled 1
  9.  
  10. config wifi-iface
  11. 	option device   radio$devidx
  12. 	option network  lan
  13. 	option mode     ap
  14. 	option ssid 'OpenWrt SLBoat Mod' 
  15. 	option encryption none
  16.  
  17. EOF
  18. 	devidx=$(($devidx + 1))
  19. 	done
  20. }
  21.  
  22. # ORG version:12.09-rc1
  23. # this file has mod by slboat
  24. # org file is inside the source: package/mac80211/files/lib/wifi/mac80211.sh
  25. # how we mod it :
  26. # http://see.sl088.com/wiki/Openwrt_%E5%9B%BA%E4%BB%B6%E7%BC%96%E8%AF%91/%E9%BB%98%E8%AE%A4%E5%BC%80%E5%90%AFwifi

见识

如何编译openwrt,无线默认打开和修改SSID名称? - OPENWRT专版 - 恩山WIFI论坛 - Powered by Discuz! 沿途见识[1]

vade 发表于 2011-5-25 12:01
多谢 xujifsad, 搞定了。

修改的文件为 openwrt/trunk/package/mac80211/files/lib/wifi/mac80211.sh, ...

config wifi-device  radio$devidx
        option type     mac80211
        option channel  ${channel}
        option hwmode        11${mode_11n}${mode_band}
$dev_id
$ht_capab
        # REMOVE THIS LINE TO ENABLE WIFI:
        # option disabled 1

config wifi-iface
        option device   radio$devidx
        option network  lan
        option mode     ap
        option ssid     Hello-World
        option encryption none
        option disabled 0
EOF
        devidx=$(($devidx + 1))
        done

红色为我修改的内容,第一个“#”是添加的,目的是注释掉该行,后面添加的是使能wifi,
但我实际发现无线有时还是不能自动默认打开,请问还能是什么问题呢?

[OpenWrt] openwrt的一些琐事 - sydjm的专栏 - 博客频道 - CSDN.NET 沿途见识[2]

1、使路由器第一次启动后默认开启WIFI
修改文件openwrt/trunk/package/mac80211/files/lib/wifi/mac80211.sh的最后部分

  1. REMOVE THIS LINE TO ENABLE WIFI:

option disabled 1


2、如何单独编译内核模块安装包
make package/kernel/{compile, install} V=s
PS:OpenWRT的kernel modules 配置文件都在这

3、添加U盘/移动硬盘支持
添加USB挂载
Base system —> <*>block-mount  
添加硬盘格式支持()
Kernel modules —> Filesystems —> <*> kmod-fs-ext4 (移动硬盘EXT4格式选择)
Kernel modules —> Filesystems —> <*> kmod-fs-vfat(FAT16 / FAT32 格式 选择)
Kernel modules —> Filesystems —> <*> kmod-fs-ntfs (NTFS 格式 选择)
添加UTF8编码,CP437编码,ISO8859-1编码
Kernel modules —> Native Language Support —> <*> kmod-nls-cp437
Kernel modules —> Native Language Support —> <*> kmod-nls-iso8859-1
Kernel modules —> Native Language Support —> <*> kmod-nls-utf8
添加SCSI支持
Kernel modules —> Block Devices —> <*>kmod-scsi-core
添加USB相关支持
Kernel modules —> USB Support —> <*> kmod-usb-core.
Kernel modules —> USB Support —> <*> kmod-usb-ohci.
Kernel modules —> USB Support —> <*> kmod-usb-storage.
Kernel modules —> USB Support —> <*> kmod-usb-storage-extras.
Kernel modules —> USB Support —> <*> kmod-usb2.
添加自动挂载工具
Utilities —> Filesystem —> <*> badblocks

4、OpenWrt取消strip的方法
make package/foo/{clean,compile} V=99 STRIP=/bin/true
也就是说如果默认使用strip破坏了你的程序、库,可以使用STRIP=/bin/true来取消strip操作,直接在Makefile中定义也是可以的

5、UBOOT移植编译
http://www.right.com.cn/forum/thread-84684-1-1.html

6、用OpenWrt的交叉编译器编译外部程序文件,遇到如下错误:
mips-openwrt-linux-gcc: warning: environment variable 'STAGING_DIR' not defined

    解决办法是在命令行输入:
export STAGING_DIR=(你的OpenWrt目录的绝对路径)/staging_dir

7、4G LTE的移植
大致步骤 移植4G网卡,改写网络配置文件,改写4G拨号脚本,配置WIFI和WIFI的DHCP。
涉及文件:
内核部分   driver/usb/serial/option.c   加PID,VID
文件系统部分:
/etc/config/network   加入WAN接口配置并配置为4G模式;加入WIFI接口,并配置为静态地址模式以便能自动启。
/etc/config/wireless  将wifi-iface的network字段与 /etc/config/network中的WIFI接口匹配相同
/etc/config/firewall    修改防火墙规则,使各个接口都可以通信。
/etc/config/dhcp      添加WIFI接口的DHCP功能
/etc/chatscripts/3g.ch  拨号脚本
以上所有文件内容在这个网页:
http://blog.csdn.net/sydjm/article/details/8490357

你可能感兴趣的:(linux,opewrt)