找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
广告投放联系QQ68610888
查看: 31739|回复: 87

国庆献礼,从BCM5352 DIY自己的3G路由器成功,更新软件篇

[复制链接]
本帖最后由 maidoo 于 2009-10-10 23:46 编辑

从朋友那里拣了台无线路由器,型号比较少见,是WBR604g,拆开看是BCM5352,2MB Flash,8MB SDRAM。这个配置也只能玩玩DD micro版。
3G火起来后,从网上搞了个二手的mini PCIE EVDO网卡,再加上一个转USB的座,就组成了一个USB的3G网卡。于是就忍不住想加到路由器上。USB1.1的接口挂硬盘显得有些慢,但是挂3G那是恰恰好!

有图有真相。BELKIN F5D7231-UK V1212版也可参考这样改。

刮CPU引出USB,升级到8MB Flash,32MB SDRAM,同时补上TTL和JTAG插针


看看3G网卡:
刷OpenWRT,2.4内核版本,打上USB,Serial,Sierra,3G的Package

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

×

评分

参与人数 3恩山币 +3 收起 理由
sk*** + 1 精神可嘉啊
tom*** + 1 比牛A大比牛C小的就是你楼主了
空虚*** + 1 非常好非常好

查看全部评分

我的恩山、我的无线 The best wifi forum is right here.
 楼主| | 显示全部楼层
本帖最后由 maidoo 于 2009-10-27 21:55 编辑

沙发自己坐
留待硬件细节答疑
【硬件篇】

1) USB
BCM5352刮CPU的点位图是从 5dxxxx.com 看来的,大家自己去找了,这里我就不贴了,以示对坛主的尊重。
USB的接线原理图,本坛也是有的,参见下面的图:



注意看,我事先已经在USB座子的D+、D-上接了2个15K的电阻到地线。用漆包线从CPU上飞出D+和D-后,直接焊到USB座子上。这也是简单起见,省略了2个33欧姆的回波抵消电阻,USB线不长的时候,回波相位差可忽略不计。也就是图中的R3,R4用0欧姆的。
以上焊接工作完成后,用热熔胶把焊点、引线封一下。

USB的5V供电,直接从电源插座附近引过来。
优点:省了自己再搞7805稳压块,而且只要用5V/3A电源就能带动大功率的移动硬盘了。
缺点:原来5V或者12V供电都可以的。以后路由器就只能用5V电源了,否则会烧你的U盘。自己用用心里清楚,如果给别人用,或者打算改装卖钱,还是稳妥一点装上7805吧。


2) SDRAM
这个WBR604g的板子上已经接了A12地址线(SDRAM芯片的PIN36脚),看来也是为了兼容设计考虑了不少,这就方便我了,不用飞线。直接吹掉原装的8MB芯片,换了一片32MB上去。我用的是MT48LC16M16A2-75芯片。
(小窍门): 先换SDRAM,Flash不动。上电,正常时应该能看到RAM有变化。如果不对及时检查焊接,省得SDRAM、FLASH一口气换了后,出问题还不确定是哪里。



3) Flash
其实4MB也就够了,我换了8MB还得单独飞线A21。A21的焊点也不那么好找。
如果是4MB的芯片,就不需要飞线了,因为通常情况下,大部分路由器A20地址线都会连上的,当然要最终情况如何,取决于PCB走线。

4MB芯片可用Spansion的S29GL032A90TFI04,确保可用。有鉴于论坛好些人在问到BELKIN 7231 v1212UK升级4MB flash遇到了麻烦,这也可参考。

4) TTL和JTAG
没什么悬念,焊好了即可正常工作。
这里推荐一个软件:PuTTY 0.60 cn。中文版的超级终端的软件。至于windows自带的那个超级终端,我14年前从windows95开始就知道那是个垃圾。PuTTY支持SSH、TELNET等,从0.60开始支持串口,打开COM99都没问题。用来看TTL输出再好不过了。网上大把下载,自己找吧!


5) 3G网卡
我用的是笔记本内置的那种,图的就是便宜,型号是MC5725,仅支持中国电信的3G,没有UIM卡,需要烧号,所以便宜。外加那个转USB的外壳,总共才200元。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

×

评分

参与人数 1恩山币 +1 收起 理由
恩山*** + 1 精品文章

查看全部评分

我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

 楼主| | 显示全部楼层
本帖最后由 maidoo 于 2009-10-10 23:43 编辑

【软件篇】

(10月9日,晴)谢谢大家期待,国庆期间终于搬到装修好的新房子里了,明天开始写软件部分。今天先把初步的想法晒晒:

有了USB口,骤然间想法就会多起来,除了U盘3G卡外,还可以接摄像头充当家庭监控、接上USB声卡配上遥控器放在AV功放旁边,随时收听网络音乐,还有下面“study”说的卡皇等等,但是。。。。。。

但是关键就在软件上面了。本坛的OpenWRT专栏有些介绍的。我这里写的软件部分也只能以自己的条件,把手头的3G网卡调通为目的。如果能起到一个抛砖引玉的作用就不错了,其他的如TD、WCDMA只能靠其他有能力的网友按照这个思路自己尝试了。

另外,本着实用的原则,以不需要自己重新编译源代码为前提,尽量利用网上下载补丁的方式来支持3G网卡。由此也带来一个考验:你必须忍耐这个DIY 的3G路由器的一些小毛病,比如说没有完善的上线、下线3G方式,你只能通过上下电来控制,哈,如此这般!

(10月10日,阴)

1) 安装基本版本

要自己DIY软件,那就非OpenWRT莫属了。WhiteRussian的版本已经停止开发,现在正在开发的是Kamikaze版本,使用目前最新的版本,这个版本附带了我们需要的所有组件包,如下链接,
http://downloads.openwrt.org/kamikaze/8.09.2-RC2/brcm-2.4/openwrt-brcm-2.4-squashfs.trx
原来的CFE不用动,用TFTP方式把Openwrt软件升级到Flash中。要玩OpenWRT,这些都是基本功了,强烈建议事先搞定TTL接口,这个TTL接口的作用可大了,它可以让你知道你是怎么死(变砖)的!具体操作细节本坛已经有许多介绍了。就像普通的升级一样,完成后,应该能正常WEB登录,WIFI、路由功能正常使用才对。


2) 安装组件包,驱动网卡
组件包的安装方式是路由器自己上网download相应的文件,并自动安装,所以在安装组件包前,要保证路由器能正常上网。或者配置正确的PPPoE上网,或者挂在别的路由器下面,反正要保证路由器能download到相关文件。可以SSH到路由器,ping一下openwrt的下载站,如能象下面一样ping通就行。
  1. login as: root
  2. root@192.168.1.1's password:

  3. BusyBox v1.11.2 (2009-09-06 23:21:43 UTC) built-in shell (ash)
  4. Enter 'help' for a list of built-in commands.
  5.   _______                     ________        __
  6. |       |.-----.-----.-----.|  |  |  |.----.|  |_
  7. |   -   ||  _  |  -__|     ||  |  |  ||   _||   _|
  8. |_______||   __|_____|__|__||________||__|  |____|
  9.           |__| W I R E L E S S   F R E E D O M
  10. KAMIKAZE (8.09.2-RC2, r17574) -------------------------
  11.   * 10 oz Vodka       Shake well with ice and strain
  12.   * 10 oz Triple sec  mixture into 10 shot glasses.
  13.   * 10 oz lime juice  Salute!
  14. ---------------------------------------------------
  15. root@OpenWrt:~#
  16. root@OpenWrt:~# ping downloads.openwrt.org
  17. PING downloads.openwrt.org (78.24.191.177): 56 data bytes
  18. 64 bytes from 78.24.191.177: seq=0 ttl=52 time=459.620 ms
  19. 64 bytes from 78.24.191.177: seq=1 ttl=52 time=570.871 ms
  20. 64 bytes from 78.24.191.177: seq=2 ttl=52 time=460.872 ms
  21. 64 bytes from 78.24.191.177: seq=3 ttl=52 time=447.866 ms

  22. --- downloads.openwrt.org ping statistics ---
  23. 5 packets transmitted, 4 packets received, 20% packet loss
  24. round-trip min/avg/max = 447.866/484.807/570.871 ms
  25. root@OpenWrt:~#
复制代码
用IE登录WEB,点[System][Software]菜单,列出当前已经安装了组件包。
先点击图中的“Update package lists”,路由器自动上网更新可用的逐渐包列表,稍等一会,页面内显示的组件包数量就会多起来,有“Installed”和“Not installed”,找出下面的5个组件包,安装之。


我们需要添加以下5个组件包
  • kmod-usb-core
  • kmod-usb-ohci
  • kmod-usb-serial
  • kmod-usb-serial-sierrawireless
  • comgt


kmod-usb-core,必选。这是USB的核心组件包。
kmod-usb-ohci,必选。这是BCM芯片中的USB OHCI控制器的驱动包,必选。
【注:我在不少地方看到帖子介绍USB的时候,还要求安装 kmod-usb-uhci,其实这完全是不必要的。USB控制器有OHCI和UHCI两种,两者二选一。BCM芯片的都是OHCI的,而UHCI一般使用在的PC主板芯片上】

kmod-usb-serial,必选。3G网卡其实虚拟了多个USB串口,你在PC的设备管理器中能清楚地看到
kmod-usb-serial-sierrawireless,可选。我的3G网卡正好是Sierra公司的产品,其VID、PID都有了。
comgt,必选。3G管理软件。

看看一切顺利的情况是怎样的:
把3G网卡插入USB口,TTL接口上会打印信息,检测到3个USB串口。
  1. root@OpenWrt:/# hub.c: new USB device 00:03.0-1, assigned address 2
  2. sierra.c: Sierra Wireless converter detected
  3. KERNEL DEBUG => USBSERIAL.O buffer_size = 2048
  4. KERNEL DEBUG => USBSERIAL.O buffer_size = 2048
  5. KERNEL DEBUG => USBSERIAL.O buffer_size = 2048
  6. sierra.c: Sierra Wireless converter now attached to ttyUSB0 (or usb/tts/0 for devfs)
  7. sierra.c: Sierra Wireless converter now attached to ttyUSB1 (or usb/tts/1 for devfs)
  8. sierra.c: Sierra Wireless converter now attached to ttyUSB2 (or usb/tts/2 for devfs)
复制代码
注意以上log信息只有TTL接口上才能看见,如果是SSH或者TELNET到路由器上,是直接看不到的。但是可以手工查看log信息,在SSH里输入“logread” 命令,看最后的几条log就是一样的意思:

  1. Oct 10 22:43:25 OpenWrt user.info kernel: hub.c: new USB device 00:03.0-1, assigned address 2
  2. Oct 10 22:43:25 OpenWrt user.info kernel: sierra.c: Sierra Wireless converter detected
  3. Oct 10 22:43:25 OpenWrt user.warn kernel: KERNEL DEBUG => USBSERIAL.O buffer_size = 2048
  4. Oct 10 22:43:25 OpenWrt user.warn kernel: KERNEL DEBUG => USBSERIAL.O buffer_size = 2048
  5. Oct 10 22:43:25 OpenWrt user.warn kernel: KERNEL DEBUG => USBSERIAL.O buffer_size = 2048
  6. Oct 10 22:43:25 OpenWrt user.info kernel: sierra.c: Sierra Wireless converter now attached to ttyUSB0 (or usb/tts/0 for devfs)
  7. Oct 10 22:43:25 OpenWrt user.info kernel: sierra.c: Sierra Wireless converter now attached to ttyUSB1 (or usb/tts/1 for devfs)
  8. Oct 10 22:43:25 OpenWrt user.info kernel: sierra.c: Sierra Wireless converter now attached to ttyUSB2 (or usb/tts/2 for devfs)
  9. root@OpenWrt:~#
复制代码



3) 配置3G参数


能有以上的“attached to ttyUSB0 (or usb/tts/0 for devfs)”说明linux已经成功识别到了3G网卡,并把它正确驱动成为USB串口了。下面就可以通过WEB配置3G上网了。
以我的EVDO为例,选择主菜单的[Network][Interface][Wan],出现下面的WAN接口配置,处于简单起见,我们直接把wan接口配置为3G上行。这样做虽然丧失了WAN网口的作用,但是不用再去处理NAT、firewall、Zone等复杂概念的配置。而且一上电,路由器自动拨号,不想用了直接掐电就得了,省事!


注意,下面的Modem Device,输入 “/dev/usb/tts/0”,Interface输入“ppp0”,直接贴过去,一个字也别错了。
username和password都是“card”,这是中国电信定的。

最后保存重启,一切正常的话,会看到如下的ppp0拨号成功,这时就能通过LAN或者WIFI带机器上网了。



4) 写在最后

附上我改装的板子从上电开始的TTL打印记录,有兴趣看的话,可以发现其中有发现OHCI控制器、注册USBSerial类型,检测到网卡等的信息。当然你也能找到内存、flash大小的信息,以及MAC地址、IP地址等信息等。

从上面的介绍来看,要能驱动其他的网卡,如国内的ZTE、Huawei的网卡等,只要解决第二步识别问题,后面都是顺利的,无论是WCDMA还是CDMA2000都适用。TD估计也类似,但是杭州是第二批TD城市,目前还没大量使用,我手里也没有网卡,没法试。

至于识别网卡的问题,可以通过给USB serial模块指定 vendor id 和 product id 的办法来解决,理论上适用所有的3G网卡。这留待后话讨论吧。毕竟这里是《无线路由器硬件改造以及故障维修》板块,把软件的思路和概念提纲挈领一下就够了。太细了没人爱听。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

×
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

这个不错。等细节
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

继续写啊。。。。
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

动手能力强啊。~~~~期待硬件软件全方位详解
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

楼主抽时间赶快出详解和图啊。
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

这个改法不错
usb1.1的接口本来就不必要来连什么存储设备
期待详细的教程
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

论坛又有新鲜血液加入了

支持LZ

希望更多的高手能够与大家分享经验和技术
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

楼主功夫了得!

如像楼主所说,适用用7231-4 V1212UK,为何此款改64M困难重重。屡不成功?
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

希望版主能把更多的经验放出!
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

强啊,wgr614 v5也是这个cpu,不知道能不能改?
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

LZ强得一沓涂地、、、、一直想给路由加USB~~
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

 楼主| | 显示全部楼层
强啊,wgr614 v5也是这个cpu,不知道能不能改?
webinn 发表于 2009-10-2 08:02


理论上,全部的Broadcom的这些CPU都可以改。包括bcm47xx、bcm53xx等。
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

如果能加载USB网卡,比如卡皇卡王等等就更有价值了
我的恩山、我的无线 The best wifi forum is right here.
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关闭

欢迎大家光临恩山无线论坛上一条 /1 下一条

有疑问请添加管理员QQ86788181|手机版|小黑屋|Archiver|恩山无线论坛(常州市恩山计算机开发有限公司版权所有) ( 苏ICP备05084872号 )

GMT+8, 2024-4-28 18:26

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

| 江苏省互联网有害信息举报中心 举报信箱:js12377 | @jischina.com.cn 举报电话:025-88802724 本站不良内容举报信箱:68610888@qq.com 举报电话:0519-86695797

快速回复 返回顶部 返回列表