深圳市航顺芯片技术研发有限公司
直播中

唯爱萌meng

10年用户 1074经验值
擅长:可编程逻辑
私信 关注
[问答]

怎样利用串口和stm32f103最小功能板去改装路由器呢

怎样利用串口和STM32f103最小功能板去改装路由器呢?有哪些步骤?

回帖(1)

梁峰

2021-10-19 16:41:55
  水星mw310r(MT7620N)硬改华硕RT-N14记录
  最近捡到了一个路由器,由于在家也是闲着没事干(误,纯粹就想研究一下怎么硬改路由器,先参考了这篇文章。先来个结论,硬改还是会花点力气的,自认为手残的还是要多多小心,一不小心焊废了之前的工作就都白费了。好在有不少资料,多上恩山和无线应该能找到不少资料。废话少说。
  由于手上基本没什么设备,先做点准备工作。准备必要的工具,烙铁。然后上淘宝买flash芯片和ddr芯片。flash芯片就用winboard的w25q126vfv,2块钱一片。ddr内存就上16位64M的就行,像H5DU5162ETR-E3C或者DTP-D43都行,2块5一片。然后买个刷bios的编程器,便宜的10多块就行。
  焊RAM
  先把ram拆下来,把新买的换上去。测试下能不能正常开机。ddr的内存由于管脚比较密,拆的时候可以先堆点焊锡,然后来回拖动,把这边翘起来,然后同样操作另外一边,多来几次就能拆掉了,大力可能会拆掉焊盘。焊的时候用拖焊大法,加点松香,加点焊锡,一拖一拉就好了,温度可以适当高点。保险起见在旁边的电容上加上一点胶布。一般来说硬改后不开机,很大可能是内存焊的问题。
  Stm32刷bios准备
  如果已经有类似xtw-2或者CH341A专门用来刷固件的东东,可以直接跳过这段了。
  我因为手头只有一个串口和一个stm32f103的最小功能板,所以利用了大佬的工作,将stm32做成刷bios的工具,原帖见这里,到作者的github上下载代码修改led的定义(不改问题也不大),看这
  
  接下来用串口接上PA9和PA10,用mcuisp下载固件。
  然后这个stm103就变成了一个u***转串口了。下载一个stm32虚拟串口驱动装上后设备管理器里就会出现这样的设备。有可能装驱动的过程中win8 win10需要禁用数字签名。
  
  然后需要安装libu***这个软件。
  
  点开百度云里下载的这个软件,就可以愉快的刷固件了。
  
  需要将stm32与flash芯片的对应引脚相连,flash是使用的spi方式,而f103默认的spi 1默认管脚是GPIOA_Pin_5 ,GPIOA_Pin_6 ,GPIOA_Pin_7 ,
  下图是常用的8PIN的flash引脚图
  
  所以连线图就是这样,WP HOLD都接VCC就好,GND当然接GND。
  实际操作过程中,发现其实可以直接在路由上接线。路由器上电后同样可以识别芯片和刷固件,这样就不需要接上WP,HOLD和VCC了,因为路由器上电后默认是高电平。注意这个CS线,它是片选线,随便一个GPIO都行,高电平到底电平后,spi flash才能进行正常的读写工作。不能读取芯片的话就看看接线有没有粘在一起或者没有焊牢。
  写入breed固件
  在写入breed之前最好进原来的路由器里记下mac地址,如果flash拆了,也能从flash读出固件后找到地址,比较费时而已。注意如果是ar/qa的芯片还需要提取art参数,mtk的芯片好像不需要。提取教程在这
  breed是大神hackpascal写的,可以通过网线刷固件,通过编程器写入breed之后,以后再需要换固件就不用再通过编程了。
  
  MT7620A也是可以用的,后面reset1,是复位引脚,我试了几个本都可以。
  刷入第三方固件
  通过breed的web网页刷固件已经有教程了,也很简单。这里只说说固件的选择。第三方固件像openwrt ddwrt或者pandroabox各有各的特点,国内的针对不同的路由器也编译有对应的版本。而且很多芯片都有多个厂商在用,所有刷其他型号的官方固件也可以。反正选择很多。一般而言,三方固件灵活性高功能也多,但是使用需要一定的技术,看个人
  由于个人使用路由器主要用于中继来蹭网,觉得老毛子的固件最好用,同样是h大神的固件,选择合适的版本,我因为是MT7620N的芯片所以选择
  
  这里选华硕RT-N14U也是因为这路由器用的也是MT7620N的芯片。然后就可以愉快的玩耍了
  
  图不是上面提到的固件,而是华硕的老毛子固件,区别有,但不大,固件很多,自己多试试找到自己喜欢的就好。
举报

更多回帖

发帖
×
20
完善资料,
赚取积分