|
本帖最后由 onlyiuse 于 2016-8-20 08:32 编辑
由于有usb口的打印机需要共享,买了个hg255d做打印机共享。
需求非常简单,就是只需要能够打印机共享就好,其他的保持最小功能。
计划是用无线接入局域网,然后从无线口接收打印数据。
由于没有找到合适的固件,遂决定自己编译官方openwrt固件。
经过一个星期的折腾,终于在某天早上成功启动。
开贴记录下,也给后面有同样需要的人一个提示。
编译平台ubuntu 16.04 lts x64桌面版,openwrt版本15.05.01。uboot用的是lintel的2015年最后一个版本。编译环境安装请自行百度,只写重点。
编译环境ok后,一定要在找到trunk/target/linux/ramips/image/目录下的Makefile文件。搜索HG255D,把关于hg255的屏蔽打开,就是把前面的#删除,要不然编译后没有正常的
二进制文件出线,*uimag.bin可以正常刷入系统,但是内核会反复重启。花了几天的时间才找到问题所在。
#Image/Build/Profile/HG255D=$(call BuildFirmware/Default16M/$(1),$(1),hg255d,HG255D)
前面有好几天都能编译成功,但是在ttl中能看到信息,内核反复重启
Ttl信息如下
[ 0.000000] Linux version 3.18.23 (buildbot@builder1) (gcc version 4.8.3 (OpenWrt/Linaro GCC 4.8-2014.04 r47269) ) #1 Sun Jan 31 14:39:33 CET 2016
[ 0.000000] SoC Type: Ralink RT3052 id:1 rev:3
[ 0.000000] bootconsole [early0] enabled
[ 0.000000] CPU0 revision is: 0001964c (MIPS 24KEc)
[ 0.000000] Linux version 3.18.23 (buildbot@builder1) (gcc version 4.8.3 (OpenWrt/Linaro GCC 4.8-2014.04 r47269) ) #1 Sun Jan 31 14:39:33 CET 2016
[ 0.000000] SoC Type: Ralink RT3052 id:1 rev:3
[ 0.000000] bootconsole [early0] enabled
[ 0.000000] CPU0 revision is: 0001964c (MIPS 24KEc)
[ 0.000000] Linux version 3.18.23 (buildbot@builder1) (gcc version 4.8.3 (OpenWrt/Linaro
开始是以为内核版本太高,内核降到3.18问题依旧。
换编译平台后问题依旧,后来根据于春辉的帖子才解决问题。
https://www.right.com.cn/forum/forum.php?mod=viewthread&tid=131349
前面有看到这个信息,一直没有注意。
所以提醒后面自己编译的人
#Image/Build/Profile/HG255D=$(call BuildFirmware/Default16M/$(1),$(1),hg255d,HG255D)
一定要去掉!!!
一定要去掉!!!
一定要去掉!!!
重要的事说三遍。
编译成功后,ttl数据乱码,可以更改编译环境里的
1. target/linux/ramips/dts/HG255D.dts文件,添加一段
2. chosen {
3. bootargs = "console=ttyS0,115200n8";
4. };
原始帖子地址https://www.right.com.cn/forum/thread-146670-1-1.html
官方打印机用的luci是p910d的,不够友好,推荐换成hackpascal的脚本。
https://www.right.com.cn/forum/thread-142071-1-1.html
安装的时候会报错,opkg强制安装就好。hackpascal也强调了是纯脚本实现,跟内核不相关。
如果实现wan口打印,需要在防火墙上开wan端口,不会配置防火墙。
我做了端口映射,把wan口的9100映射到了内网的9100,完美解决
|
|