请教openwrt gpio控制系统gpio控制问题

博客访问: 564927
博文数量: 85
博客积分: 3078
博客等级: 少校
技术积分: 974
注册时间:
认证徽章:
在技术的道路上,我一路狂奔!
代码:/widora
微博:/linuxgeek
IT168企业级官微
微信号:IT168qiye
系统架构师大会
微信号:SACC2013
分类: LINUX
需要好好整理一下解决思路。
先说一下系统环境:virtualbox,
Openwrt版本:Chaos Calmer 15.05-rc2
硬件板卡:MT7688,64MB DDR2,8MB SPI FLASH,某宝LH7688
本次解决的问题:MT7688剩余两个串口不能通信,另外UART2端口仍处于analog PAD模式。
注意:本方法适用于标准的openwrt-cc,不适用于sdk和mtk-op。
第一步,改DTS,因为默认的mt7628an.dts缺少uart1和uart2的配置。
第二步,增加pinctrl信息。
第三步,修改arch/mips/ralink/mt7620.c
首先,看到perst,wdt都是错的,顺便改了他们。
prom_soc_init,add this code to fix AGPIO_MODE:(否则uart2还是网口电平)
这样子改后,网口只剩下lan0,个人觉得不够用,又不是去做路由器。
第四步,修改文件drivers/pinctrl/pinmux.c
line317,pinmux_map_to_setting,group是每一个pinmux注册时的pin的组group,而groups[i]是mt7620.c中可以看到的所有的pin分组groups。这里要匹配,也就是轮询一遍,但是有个问题,num_groups传进来的一直是1,这就导致了357行for循环始终循环一遍。究其根本是get_function_groups函数传的num_groups有问题。
所以真正要修改的是drivers/pinctrl/pinmux-rt2880.c
为什么改成15呢,因为mt7620.c中看到了有15个groups。
对了,最后一个严重问题,请make kernel_menuconfig
找到Device Drivers---->Character devices----->Serial drivers--->Number of
serial ports to register at runtime.由2改为3.
接着来,3个串口就都起来了。
对了,最后一个严重问题,请make kernel_menuconfig
找到Device Drivers---->Character devices----->Serial drivers--->Number of
serial ports to register at runtime.由2改为3.
这样修改后,3个串口就都起来了。
阅读(3421) | 评论(4) | 转发(0) |
相关热门文章
给主人留下些什么吧!~~
:博主你好,OpenWRT/trunk&编译MT7628/88的时候已经选在了MT76的驱动,但是/etc目录下没有wifi的配置,用ifconfig也没看到wifi的接口,这个应该怎么处理,非常感谢!
mac80211至今还没支持7688,目前的无线都在走闭源二进制驱动,详见linkit的做法即可。 |
博主你好,OpenWRT/trunk&编译MT7628/88的时候已经选在了MT76的驱动,但是/etc目录下没有wifi的配置,用ifconfig也没看到wifi的接口,这个应该怎么处理,非常感谢!
:可以留一个联系方式吗?
可以留一个联系方式吗?
请登录后评论。请教openwrt系统gpio控制问题_百度知道
请教openwrt系统gpio控制问题
该模块可能存在bug。多谢版主的耐心回答,因此问题很有可能是在rt2880-pinmux pinctrl,这个可能需要个人深入研究了,相同的控制代码其实关键问题不在 gpio控制程序.1 系统中,不同的控制结果
其他类似问题
为您推荐:
openwrt的相关知识
等待您来回答
下载知道APP
随时随地咨询
出门在外也不愁0x01.About
第一次尝试开发路由器,发现并不是想象中那么难,和普通嵌入式开发一样,也是一块ARM板刷上Linux系统。
OpenWrt有很多好用的软件,附带流量监测。
OpenWrt主要开发语言为Python、Lua、Shell,还可以做深入研究写ipk软件包。
写了几个脚本,主要实现了openwrt下面GPIO控制、系统信息获取、wifi扫描器、定时发送邮件系统报警等功能,下面会介绍。
代码已经在Github开源:
0x02.About OpenWrt
刷OpenWrt先要去下载你想要的版本,包含aa型和bb型。
然后用Linux烧入命令烧入系统。
早MAC下面,先现将U盘插入电脑格式化,然后运行命令查看U盘编号:
diskUtil list
注意查看U盘编号,选择你的U盘,解除挂载:
diskUtil unmountDisk /dev/disk2
然后烧入系统:
dd if=/path/to/openwrt.img of=/dev/disk2 bs=2m
等待几分钟后烧入成功。
关于痛点:
第一次是在树莓派上安装OpenWrt,装好后,用有线把连进上级路由器的Lan口
然后,上级路由的包开始乱了,上级路由把OpenWrt当成路由器,OpenWrt把路由器当成上级路由器,然后就GG了。
0x03.About WRTnode
WRTnode是OpenWrt系统一个硬件解决方案,预先安装了OpenWrt相关软件包,并且内置两块无线网卡。
关于WRTnode,官方wiki已经介绍的很详细了:
解析来的代码基本上是在WRTnode环境上开发的,主要包含了:
luci(WRTnode自带,非WRTnode用opkg安装即可)
python(WRTnode自带,非WRTnode用opkg安装即可)
luasocket(
目前只能想起这3个,如果报错,该装什么再装好了。
0x04.WRTnode控制GPIO
GPIO控制可以很好地实现软件硬件之间的交互。
GPIO的控制也不难,wiki讲得很清晰了,就是文件输入输出
这里我写了一个Lua版的GPIO控制模块,文件保存为gpio.lua:
#!/usr/bin/lua
Copyright 2015 http://homeway.me
@author homeway
@version 15.04.29
@link http://homeway.me
@function OpenWRT gpio module
local M = {}
M.path = "/sys/class/gpio/gpio"
M.router = "/sys/class/gpio"
M.check = function(where)
print("check path =& "..where)
local f=io.open(where, "r")
if f~=nil then io.close(f) return true else return false end
-- set mode && check type
M.mode = function(id, mtype)
where = M.path..M.id
-- if id not use
if false==M.check(M.path..id..'/direction') then
--M.writeFile(M.router.."/unexport",id)
M.writeFile(M.router.."/export", id)
-- if type different
if mtype ~= M.readFile(M.path..id..'/direction') then
print("type =&"..mtype.." direction=&"..M.readFile(M.path..id..'/direction').." different")
M.writeFile(M.path..id..'/direction', mtype)
-- file write
M.writeFile = function(where, what)
print("write path =& "..where.." data =&"..what)
local fp=io.open(where, 'w')
fp:write(what)
fp:close()
-- file read
M.readFile = function(where)
print("read path =& "..where)
local fp=io.open(where, 'r')
if fp~=nil then
data = fp:read("*all")
fp:close()
return data
return nil
M.set = function(id)
M.read = function()
res = M.readFile(M.path..M.id..'/value')
return res
M.write = function(value)
res = M.writeFile(M.path..M.id..'/value', value)
M.close = function()
print("sleep io =& "..M.id)
os.execute("sleep " .. tonumber(M.id))
API很简单,先设置设置模式,GPIO.mode(id, "out/in")两种模式之一
如果为'out'即可调用GPIO.write(value)函数,写入当然id端口,如果为'in'模式,只能调用GPIO.read()读取数值。
这里数值只能是0或1,非0即为1.
调用方式如下,这个存在一个可忽略的问题,一旦调用mode,数值将被置为默认数值,即0:
#!/usr/bin/lua
x=require("gpio")
print("Please input io id =&")
id = io.read("*num")
x.mode(id, "out")-- 设置io的模式为输入还是输出 [in/out]
function readGPIO(id)
value = x.read()
print("read data from =& `"..id.."` =&"..value)
function writeGPIO(id, data)
x.write(data)
print("write data to =& `"..id.."` =&"..data)
count=count+1
print("Please input value =&")
data = io.read("*num")
writeGPIO(id, data)
readGPIO(id)
until count&3
0x05.WRTnode获取系统信息
其实获取系统信息不属于WRTnode范围,因为这部分主要是调用Linux Shell获取系统信息,做个反馈。
这里我也写了个python脚本,主要检查系统信息,这个脚本在树莓派那里面也有:
这里我做了部分修改,添加系统ip、连接的ssid等信息:
#!/usr/bin/python
@author homeway
@version 15.04.29
@link http://homeway.me
@function python get OpenWRT system info
# Return CPU temperature as a character string
def getCPUtemperature():
res = os.popen('vcgencmd measure_temp').readline()
return(res.replace("temp=","").replace("'C\n",""))
# Return RAM information (unit=kb) in a list
# Index 0: total RAM
# Index 1: used RAM
# Index 2: free RAM
def getRAMinfo():
p = os.popen('free')
line = p.readline()
return(line.split()[1:4])
# Return % of CPU used by user as a character string
def getCPUuse():
return(str(os.popen("top -n1 | awk '/Cpu\(s\):/ {print $2}'").readline().strip()))
# Return information about disk space as a list (unit included)
# Index 0: total disk space
# Index 1: used disk space
# Index 2: remaining disk space
# Index 3: percentage of disk used
def getDiskSpace():
p = os.popen("df -h /")
line = p.readline()
return(line.split()[1:5])
def getSystem():
p = os.popen("uname -amnrspv")
line = p.readline()
return(line)
def getExtranetIp():
p = os.popen('wget "/ips1388.asp" -q -O - | sed -nr \'s/.*\[(([0-9]+\.){3}[0-9]+)\].*/\1/p\'')
line = p.readline()
print line
return(line)
def getIntranetIp():
p = os.popen('ifconfig apcli0 | grep inet\ addr')
line = p.readline()
return(line)
def getSsid():
p = os.popen('uci get wireless.@wifi-iface[0].ApCliSsid')
line = p.readline()
return(line)
# CPU informatiom
CPU_temp = getCPUtemperature()
CPU_usage = getCPUuse()
# RAM information
# Output is in kb, here I convert it in Mb for readability
RAM_stats = getRAMinfo()
RAM_total = round(int(RAM_stats[0]) / 1000,1)
RAM_used = round(int(RAM_stats[1]) / 1000,1)
RAM_free = round(int(RAM_stats[2]) / 1000,1)
# Disk information
DISK_stats = getDiskSpace()
DISK_total = DISK_stats[0]
DISK_used = DISK_stats[1]
DISK_perc = DISK_stats[3]
# system info
SYSTEM_info = getSystem()
# NET infomation
NET_extranet_ip = getExtranetIp()
NET_internet_ip = getIntranetIp().lstrip('')
NET_connect_ssid = getSsid()
if __name__ == '__main__':
print('-------------------------------------------')
print("System info ="+str(SYSTEM_info))
print('-------------------------------------------')
print('RAM Total = '+str(RAM_total)+' MB')
print('RAM Used = '+str(RAM_used)+' MB')
print('RAM Free = '+str(RAM_free)+' MB')
print('-------------------------------------------')
print('DISK Total Space = '+str(DISK_total)+'B')
print('DISK Used Space = '+str(DISK_used)+'B')
print('DISK Used Percentage = '+str(DISK_perc))
print('-------------------------------------------')
print('NET Extranet Ip ='+str(NET_extranet_ip))
print('NET Connect Ssid ='+str(NET_connect_ssid))
print('NET Internet Wan Ip ='+str(NET_internet_ip))
直接调用python sysinfo.py:
0x06.WRTnode发送邮件
好了,系统信息有了,GPIO信息有了,接下来就试试发送邮件了。
发送邮件3中法案都可以,Lua,Python,Shell,找了找资料,Python写了,但是缺少了一个包,Lua缺少Luasocket模块,Shell要安装模块。
最后,懵了,全都要依赖,尼玛,看了看,好像Lua安装个Luasocket最简单,一个包轻松:
安装也不难,接下来就写写吧。
Lua发送邮件源码模块,设置文件名为email.lua:
#!/usr/bin/lua
Copyright 2015 http://homeway.me
@author homeway
@version 15.04.29
@link http://homeway.me
@function lua email module
local smtp = require("socket.smtp")
local M ={}
M.user = {["from"]="", ["to"]="", ["password"]=""}
M.mail = {["subject"]="", ["body"]=""}
M.sys = {["server"]=""}
M.set = function(data)
M.user = data.user
M.mail = data.mail
M.sys = data.sys
M.send = function()
M.user["to"]
headers = {
from = M.user["from"],
to = M.user["to"], --收件人
cc = "", --抄送
subject = M.mail["subject"] --主题
body = M.mail["body"]
r, e = smtp.send{
from = M.user["from"],
rcpt = rcpt,
source = smtp.message(mesgt),
server = M.sys["server"],
port = M.sys["port"],
user = M.user["from"],
password = M.user["password"],
if not r then
print("send ok!")
下面是调用方式:
#!/usr/bin/lua
local mail = require("email")
local data = {}
data.user = {["from"]="", ["to"]="", ["password"]="password"}
data.mail = {["subject"]="测试邮件模块", ["body"]="这是主体内容..."}
data.sys = {["server"]="", ["port"]=587}
mail.set(data)
mail.send()
测试下,是可以接收到邮件的,注意GFW,还是别用非法gmail好了,别等半天收不到。
0x07.重要的东西放后面
嗯!看到这里,估计菊花也有点疼了,再看最后一点看完就擦洗擦洗去吧。
最后就是,设置定时器,让路由器定时发送系统信息给指定邮箱。
嗯...定时器,Linux的一个模块crontab命令,看看功能吧 crontab --help
关于定时器语法,看看这里吧
这里,我只做简单地,每隔10分钟发送一次系统信息给我邮箱。
具体怎么做,去下载这个脚本吧:
我的目录是这样的,用户是root:
~|--script
|--schedule
|--sys.log
|--crontab.log
先开一个定时器,定时跑Lua,Lua调用python读取系统信息,生成日志文件,Lua读取日志文件,发送邮箱。
how to use:
step1: configure you email information in this script
step2: mkdir /root/log && mkdir /root/script
step3: mv /path/to/crontab.lua /root/script/send
step4: chmod +x /root/script/send
step5: echo 10,20,30,40,50
* * * * /root/script/send & /root/script/schedule
step6: crontab /root/script/schedule
东西有点多,都是散乱的部件,这篇主要介绍细节信息,接下来会做大得模块。
如果打通路由器,各种嵌入式开发的联网问题就都解决了,所以路由器系统还是很重要的。
本文出自 ,转载请注明出处:
你可能感兴趣的文章
2 收藏,3.2k
本文隶属于专栏
夏日小草,爱生活,喜欢看书,喜欢散步,音乐。
分享到微博?
你好!看起来你挺喜欢这个内容,但是你还没有注册帐号。 当你创建了帐号,我们能准确地追踪你关注的问题,在有新答案或内容的时候收到网页和邮件通知。还能直接向作者咨询更多细节。如果上面的内容有帮助,记得点赞 (????)? 表示感谢。
明天提醒我
我要举报该,理由是:
扫扫下载 App
SegmentFault
一起探索更多未知查看: 6922|回复: 27
MAC1200R OPENWRT LED GPIO
#define WDR3500_GPIO_LED_WLAN2G& & & & & & & & 13
#define WDR3500_GPIO_LED_SYSTEM& & & & & & & & 14
#define WDR3500_GPIO_LED_QSS& & & & & & & & 11
#define WDR3500_GPIO_LED_WAN& & & & & & & & 12
#define WDR3500_GPIO_LED_LAN1& & & & & & & & 15
#define WDR3500_GPIO_LED_LAN2& & & & & & & & 21
#define WDR3500_GPIO_LED_LAN3& & & & & & & & 22
#define WDR3500_GPIO_LED_LAN4& & & & & & & & 20
修改3500的C文件&&保存后& &
make target/linux/clean
make V=99 即可。
LED完美了,有能力支持QCA9882 5G的可以私信,谢谢。
一看就是觉得高端、大气、上档次!
一看就是觉得高端、大气、上档次!
虽然不懂,但是觉得好牛逼
我也是菜鸟&
QQ截图03.png (368.05 KB, 下载次数: 0)
22:28 上传
MAC1200R信号怎么样?
还没实测,刚拿到,修复了LED&
MAC1200R信号怎么样?
还没实测,刚拿到,修复了LED
虽然不懂,但是觉得好牛逼
我也是菜鸟
很好很强大
弄了个mac1200r的补丁,trunk版的,lz可以试试
我还没测试编译是否成功,固件id应该不对,lz改下看看
1200.PNG (125.61 KB, 下载次数: 0)
23:35 上传
23:33 上传
点击文件名下载附件
下载积分: 恩山币 -2 nb
3.36 KB, 下载次数: 30, 下载积分: 恩山币 -2 nb
[attachimg]91959[/attachimg]
[attachimg]91960[/attachimg]
编译后有线和2.4G无线可以正常使用。2.4G无线中“设备配置”的“基本设置”只有“无线网络开关”和“信道”两个选项,且信道只有自动和自定义,默&
5G能用吗,下来试试&
一看就是觉得高端、大气、上档次!
Index: target/linux/ar71xx/base-files/lib/ar71xx.sh
===================================================================
--- target/linux/ar71xx/base-files/lib/ar71xx.sh
+++ target/linux/ar71xx/base-files/lib/ar71xx.sh
@@ -183,6 +183,9 @@
&350000&*)
model=&TP-Link TL-WDR3500&
;;
+ &120000&*)
+ model=&MerCury MAC1200R&
+ ;;
&360000&*)
model=&TP-Link TL-WDR3600&
;;
@@ -535,6 +538,10 @@
*&TL-WDR3500&)
name=&tl-wdr3500&
;;
+ *MAC1200R)
+ name=&mc-mac1200r&
+ ;;
+
*&TL-WDR10&)
name=&tl-wdr4300&
;;
@@ -676,7 +683,7 @@
esac
case &$machine& in
- *TL-WR* | *TL-WA* | *TL-MR* | *TL-WD*)
+ *TL-WR* | *TL-WA* | *TL-MR* | *TL-WD* | MerCury*MW*)
tplink_board_detect &$machine&
;;
esac
Index: target/linux/ar71xx/base-files/lib/upgrade/platform.sh
===================================================================
--- target/linux/ar71xx/base-files/lib/upgrade/platform.sh
+++ target/linux/ar71xx/base-files/lib/upgrade/platform.sh
@@ -243,6 +243,7 @@
tl-wa901nd-v2 | \
tl-wa901nd-v3 | \
tl-wdr3500 | \
+ mc-mac1200r | \
tl-wdr4300 | \
tl-wdr4900-v2 | \
tl-wr703n | \
Index: target/linux/ar71xx/base-files/etc/diag.sh
===================================================================
--- target/linux/ar71xx/base-files/etc/diag.sh
+++ target/linux/ar71xx/base-files/etc/diag.sh
@@ -165,6 +165,7 @@
tl-wa901nd-v2 | \
tl-wa901nd-v3 | \
tl-wdr3500 | \
+ mc-mac1200r | \
tl-wr1041n-v2 | \
tl-wr1043nd | \
tl-wr1043nd-v2 | \
Index: target/linux/ar71xx/base-files/etc/uci-defaults/01_leds
===================================================================
--- target/linux/ar71xx/base-files/etc/uci-defaults/01_leds
+++ target/linux/ar71xx/base-files/etc/uci-defaults/01_leds
@@ -247,6 +247,11 @@
ucidef_set_led_wlan &wlan2g& &WLAN2G& &tp-link:green:wlan2g& &phy0tpt&
;;
+mc-mac1200r)
+ ucidef_set_led_usbdev &usb& &USB& &mac1200r:green:usb& &1-1&
+ ucidef_set_led_wlan &wlan2g& &WLAN2G& &mw4530r:green:wlan2g& &phy0tpt&
+ ucidef_set_led_wlan &wlan5g& &WLAN5G& &mw4530r:green:wlan5g& &phy1tpt&
+ ;;
tl-wdr4300)
ucidef_set_led_usbdev &usb1& &USB1& &tp-link:green:usb1& &1-1.1&
ucidef_set_led_usbdev &usb2& &USB2& &tp-link:green:usb2& &1-1.2&
Index: target/linux/ar71xx/base-files/etc/uci-defaults/02_network
===================================================================
--- target/linux/ar71xx/base-files/etc/uci-defaults/02_network
+++ target/linux/ar71xx/base-files/etc/uci-defaults/02_network
@@ -301,6 +301,7 @@
tl-mr3220-v2 |\
tl-mr3420 |\
tl-wdr3500 |\
+mc-mac1200r|\
tl-wr741nd |\
tl-wr741nd-v4 |\
tl-wr841n-v7 |\
Index: target/linux/ar71xx/files/drivers/mtd/tplinkpart.c
===================================================================
--- target/linux/ar71xx/files/drivers/mtd/tplinkpart.c
+++ target/linux/ar71xx/files/drivers/mtd/tplinkpart.c
@@ -16,7 +16,7 @@
#include &linux/mtd/mtd.h&
#include &linux/mtd/partitions.h&
-#define TPLINK_NUM_PARTS 5
+#define TPLINK_NUM_PARTS 6
#define TPLINK_HEADER_V1 0x
#define MD5SUM_LEN 16
@@ -149,7 +149,6 @@
parts[0].name = &u-boot&;
parts[0].offset = 0;
parts[0].size =
- parts[0].mask_flags = MTD_WRITEABLE;
parts[1].name = &kernel&;
parts[1].offset =
@@ -162,12 +161,16 @@
parts[3].name = &art&;
parts[3].offset = art_
parts[3].size = TPLINK_ART_LEN;
- parts[3].mask_flags = MTD_WRITEABLE;
parts[4].name = &firmware&;
parts[4].offset =
parts[4].size = art_offset -
+ parts[5].name = &fullflash&;
+ parts[5].offset = 0;
+ parts[5].size = master-&
+
+
vfree(header);
*pparts =
Index: target/linux/ar71xx/image/Makefile
===================================================================
--- target/linux/ar71xx/image/Makefile
+++ target/linux/ar71xx/image/Makefile
@@ -67,7 @@
$(eval $(call SingleProfile,TPLINK-LZMA,64kraw,TLWDR4310V1,tl-wdr4310-v1,TL-WDR4300,ttyS0,x,8Mlzma))
$(eval $(call SingleProfile,TPLINK-LZMA,64kraw,TLWDR4900V2,tl-wdr4900-v2,TL-WDR4900-v2,ttyS0,x,8Mlzma))
$(eval $(call SingleProfile,TPLINK-LZMA,64kraw,MW4530RV1,mw4530r-v1,TL-WDR4300,ttyS0,x,8Mlzma))
+$(eval $(call SingleProfile,TPLINK-LZMA,64kraw,MAC1200R,mc-mac1200r,MC-MAC1200R,ttyS0,x,8Mlzma))
$(eval $(call SingleProfile,TPLINK-LZMA,64kraw,OOLITE,oolite,GS-OOLITE,ttyATH0,x3C,16Mlzma))
Index: target/linux/ar71xx/config-3.10
===================================================================
--- target/linux/ar71xx/config-3.10
+++ target/linux/ar71xx/config-3.10
@@ -83,6 +83,7 @@
CONFIG_ATH79_MACH_TL_WA901ND_V2=y
CONFIG_ATH79_MACH_TL_WAX50RE=y
CONFIG_ATH79_MACH_TL_WDR3500=y
+CONFIG_ATH79_MACH_MC_MAC1200R=y
CONFIG_ATH79_MACH_TL_WDR4300=y
CONFIG_ATH79_MACH_TL_WR1041N_V2=y
CONFIG_ATH79_MACH_TL_WR1043ND=y
复制代码
弄了个mac1200r的补丁,trunk版的,lz可以试试
我还没测试编译是否成功,固件id应该不对,lz改下看看
5G能用吗,下来试试
根据3500的代码改的,一样不能用5g&
请问补丁怎么打,我用patch -p0 & 1200r.patch打完补丁后还是没有出1200R菜单?
删掉源码目录下的tmp文件夹&
mitch 发表于
请问补丁怎么打,我用patch -p0 & 1200r.patch打完补丁后还是没有出1200R菜单?
删掉源码目录下的tmp文件夹
谢谢指教,编译好刷机192.168.1.1ping不通,SYS灯不亮,网线插LAN1~LAN4和WAN口,相应的灯会亮,系统应该有跑起来,可能还有些地方设置不对。&
删掉源码目录下的tmp文件夹
谢谢指教,编译好刷机192.168.1.1ping不通,SYS灯不亮,网线插LAN1~LAN4和WAN口,相应的灯会亮,系统应该有跑起来,可能还有些地方设置不对。
话说楼主怎么测得GPIO的,用TTL测?
边测边猜, 其实很简单,按照3500默认去编译,编译完了,比如说,我插lan3 亮的是 lan4的灯,那我就把 源码里对应lan4的gpio改成原来lan3的。
这样子反复测试加上 猜测基本也能够搞定了, 如果是新机器没有定义过gp&
话说楼主怎么测得GPIO的,用TTL测?
边测边猜, 其实很简单,按照3500默认去编译,编译完了,比如说,我插lan3 亮的是 lan4的灯,那我就把 源码里对应lan4的gpio改成原来lan3的。&&这样子反复测试加上 猜测基本也能够搞定了, 如果是新机器没有定义过gpio的 之前有个帖子有教程。
谢谢,学习!
弄了个mac1200r的补丁,trunk版的,lz可以试试
我还没测试编译是否成功,固件id应该不对,lz改下看看
1.png (10.19 KB, 下载次数: 0)
15:49 上传
2.png (8.08 KB, 下载次数: 0)
15:50 上传
编译后有线和2.4G无线可以正常使用。2.4G无线中“设备配置”的“基本设置”只有“无线网络开关”和“信道”两个选项,且信道只有自动和自定义,默认信道11,“高级设置”里所有选项为空。SYS\2.4G\5G\WPS灯不亮,WAN\LAN1\LAN2\LAN3\LAN4灯亮且次序正确。编译后有线和2.4G无线可以正常使用。2.4G无线中“设备配置”的“基本设置”只有“无线网络开关”和“信道”两个选项,且信道只有自动和自定义,默认信道11,“高级设置”里所有选项为空。SYS\2.4G\5G\WPS灯不亮,WAN\LAN1\LAN2\LAN3\LAN4灯亮且次序正确。
等op支持完善的同配置机型再改了&
r41226 版本
(15.63 KB, 下载次数: 1)
15:52 上传
1200r.patch
复制trunk目录下,使用命令&svn patch 1200r.patch&打上补丁
mach-mc-mac1200r.c
复制trunk/target/linux/ar71xx/files/arch/mips/ath79目录下
mercury.mk
复制trunk/target/linux/ar71xx/generic/profiles目录下
mac1200r.patch
复制trunk/target/linux/ar71xx/patches-3.10目录下
将trunk/tmp目录下所有目录及文件清除,
make defconfig
make menuconfig
编译后有线和2.4G无线可以正常使用。2.4G无线中“设备配置”的“基本设置”只有“无线网络开关” ...
等op支持完善的同配置机型再改了
Powered by

我要回帖

更多关于 openwrt gpio 的文章

 

随机推荐