OpenWRT 编译 error GNU libiconv not in use but included iconv.h is from libiconv

编译的时候碰到一个常见的错误,但是却在一个陌生的地方爆出来:

gconvert.c:55:2: error: #error GNU libiconv not in use but included iconv.h is from libiconv

google 了一下资料还挺多,总之就是没搜到 OpenWRT 相关的,于是各种想法都有。后来才发现确实是自己不注意被绕进去了。其实依旧是用很常规的手段解决,

cd /home/lellansin/OpenWRT/svn/trunk/build_dir/host/pkg-config-0.28/glib
./configure --enable-iconv=no --with-libiconv=gnu
make
cd /home/lellansin/OpenWRT/svn/trunk/
make # 继续编译 OpenWRT

开始一下没绕过来,因为在 trunk 目录下没有 configure 文件。纠结了半天,还试过删除自带的 iconv 等等各种黑操作,最后想,这 gconvert.o 编译不出来。咱去下载一个编译成功后拷贝过来就是。想到这里才突然意识到 OpenWRT 里面应该是有源码的,然后找过去果然找到了 glib 的 configure。

总结:以后编译大一点项目报错,第一时间先跑去看报错子项的 configure

DB120-B1 OpenWRT 刷机记录

网上搜些资料, 不少我辈同胞直接把路由器刷成了砖头, 第一次干这事也有些忐忑, 直接就是用网线刷的, 没有使用 usb-ttl, 结果没想到就刷了两次就成功了.

准备工作

刷机步骤

  • 1. 设置自己的 ip 地址为 192.168.1.10 (同网段也可以)
  • 2. 打开 cmd, 直接命令 ping 192.168.1.1 -t
  • 3. 关闭路由的电源, 用牙签先顶住RST键, 然后打开电源 (切勿松开RST), 持续按住20秒钟 (DB120红色电源灯常亮). 当 cmd 上可以 ping 通的时候便松开RST键
  • 4. 打开浏览器访问 http://192.168.1.1, 界面如下

1

选择开始下载的固件, 上传成功之后会跳转到如下界面.

2

大概等待 2分钟之后当 cmd 上的 log 告诉你可以 ping 通的时候便意味着已经刷机成功.

可以访问 http://192.168.1.1 查看

3

默认账户 root 密码 admin

此时也可以使用 putty 远程登录了.

4