标签归档:OpenWrt

解决编译LEDE时bughost.org无法访问致下载IPW-2100fw/2200fw驱动失败的问题

尝试编译LEDE固件,遇到IPW-2100fw和ipw2200-fw下载失败。
注意到Makefile中相关字段:

cat package/kernel/mac80211/Makefile
...
IPW2100_NAME:=ipw2100-fw
IPW2100_VERSION:=1.3

define Download/ipw2100
  URL:=http://bughost.org/firmware/
  FILE:=$(IPW2100_NAME)-$(IPW2100_VERSION).tgz
  HASH:=e1107c455e48d324a616b47a622593bc8413dcce72026f72731c0b03dae3a7a2
endef
$(eval $(call Download,ipw2100))
...
IPW2200_NAME:=ipw2200-fw
IPW2200_VERSION:=3.1

define Download/ipw2200
  URL:=http://bughost.org/firmware/
  FILE:=$(IPW2200_NAME)-$(IPW2200_VERSION).tgz
  HASH:=c6818c11c18cc030d55ff83f64b2bad8feef485e7742f84f94a61d811a6258bd
endef
$(eval $(call Download,ipw2200))
...

原因是bughost.org最近几天down机了。
解决方法是将Makefile中的bughost.org换成其他的源,按如下修改再编译就可以了。

...
IPW2100_NAME:=ipw2100-fw
IPW2100_VERSION:=1.3

define Download/ipw2100
  URL:=https://people.freebsd.org/~flz/distfiles/ipw/
  FILE:=$(IPW2100_NAME)-$(IPW2100_VERSION).tgz
  HASH:=e1107c455e48d324a616b47a622593bc8413dcce72026f72731c0b03dae3a7a2
endef
$(eval $(call Download,ipw2100))
...
IPW2200_NAME:=ipw2200-fw
IPW2200_VERSION:=3.1

define Download/ipw2200
  URL:=https://people.freebsd.org/~flz/distfiles/ipw/
  FILE:=$(IPW2200_NAME)-$(IPW2200_VERSION).tgz
  HASH:=c6818c11c18cc030d55ff83f64b2bad8feef485e7742f84f94a61d811a6258bd
endef
$(eval $(call Download,ipw2200))
...

解决Chromebook的secure shell连接openwrt时出现的“WARNING: REMOTE HOST IDENTIFICATION HAS CHANGED!”

更新

20170319 该方法适用Openwrt、LEDE以及Linux服务器。

使用chromebook secure shell 连接 openwrt时出现如下问题:

@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@    WARNING: REMOTE HOST IDENTIFICATION HAS CHANGED!     @
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
IT IS POSSIBLE THAT SOMEONE IS DOING SOMETHING NASTY!
Someone could be eavesdropping on you right now (man-in-the-middle attack)!
It is also possible that a host key has just been changed.
The fingerprint for the RSA key sent by the remote host is
dd:3b:ad:5f:c5:5c:fc:09:58:21:df:ca:f5:23:3d:be.
Please contact your system administrator.
Add correct host key in /.ssh/known_hosts to get rid of this message.
Offending RSA key in /.ssh/known_hosts:3
RSA host key for 192.168.1.1 has changed and you have requested strict checking.
Host key verification failed.
NaCl plugin exited with status code 255.
(R)econnect, (C)hoose another connection, or E(x)it?

解决方法如下:

1.打开secure shell;
2.尝试登录openwrt;
3.按 ctrl+shift+j 组合键,调出控制台;
4.输入如下命令:

term_.command.removeAllKnownHosts()

回车后,可以看见 true;
5.重新连接openwrt,出现
Are you sure you want to continue connecting (yes/no)?
时,输入

yes

6.输入登录密码…

TL-WR703N、TL-WR720N将官方OpenWrt系统扩展到U盘运行

更新

2017-08-08 如无较大错漏,本文不再更新,请尽快更新至LEDE; 感谢@ian提醒,先修改fstab再复制overlay,就不会出现 fstab 恢复原始状态的状况。重新更改该部分内容。 2017-05-29 LEDE已更新为17.01.12017-02-22 目前LEDE已放出了第一个正式版,因此建议采用最新版:17.01.02017-01-18 1.如果想尝试新版固件,OpenWrt官方和LEDE均提供了一个工具:imagebuilder。可以参考这个帖子进行。 2.不要在已经Extroot的系统上更新系统或固件,可能会导致设备变砖,如需更新,请拔下U盘,并在uboot中操作。

TL-WR703N、TL-WR720N的闪存只有4M,装完官方版的OpenWrt后空间所剩无几,好在它们提供了一个usb口,可通过官方教程挂载U盘,并将OpenWrt运行在U盘中,即扩大rootfs,同时解决安装软件没有空间的尴尬。

1 系统、挂载模式、挂载方法的选择

OpenWrt系统:
如果只想安装OpenWrt官方固件,那么建议选择barrier_breaker 14.07,不建议选择最新的稳定版chaos_calmer 15.05,后者会出现空间不足导致U盘驱动无法安装的情况。
挂载模式:
目前OpenWrt官方推荐rootfs挂载’/overlay’的模式(本文使用该方法),不再推荐’/’的模式。如果U盘损坏,拔下U盘可以启动系统。
挂载方法:
如果按照官方文档所说barrier_breaker的挂载方法反而比较麻烦一点点,本文采用挂载模式中链接的最新方法。

2 准备好U盘

目前U盘价格下降,10几元就能买到8G以上的,如果都作为系统盘来用过于浪费,所以建议将U盘分成3个区,1是用来挂载系统安装软件,1-2G足够了;2作为SWAP区,比如256M;3剩下的空间作为数据区,用来做aria2或离线迅雷的下载区。U盘需要事先在windows中可通过MiniTool Partition Wizard软件分成三个区,1、3区格式化为ext4格式,2区选择swap。

3 具体步骤

将U盘插入usb口,注意:720N需要将开关拨到3G模式,否则无法识别U盘。

3.1 安装exroot所需软件包

通过putty进入路由器,更新软件包列表

root@OpenWrt:~# opkg update

安装挂载U盘必须的包
官方建议安装kmod-usb-storage-extras。但没有足够的空间。有的教程提到安装e2fsprogs来格式化U盘,那选择的一定不是官方系统,因为空间不够。这里选择的是官方系统,所以需要事先格式化好U盘。

root@OpenWrt:~# opkg install opkg install block-mount kmod-fs-ext4 kmod-usb-storage
root@OpenWrt:~# reboot

3.2 查看u盘是否已经挂载

谢谢@huxin指出命令拼写错误。

root@OpenWrt:~# block info

/dev/mtdblock2: UUID="********-********-********-********" VERSION="4.0" TYPE="squashfs"
/dev/mtdblock3: TYPE="jffs2"
/dev/sda1: UUID="********-****-****-****-************" NAME="EXT_JOURNAL" VERSION="1.0" TYPE="ext4"
/dev/sda5: VERSION="2" TYPE="swap"
/dev/sda6: UUID="********-****-****-****-************" NAME="EXT_JOURNAL" VERSION="1.0" TYPE="ext4"

出现/dev/sda1下面的三行说明U盘已经挂载成功,挂载的U盘的三个区,sda1、sda5、sda6。

3.3 修改文件系统配置文件

root@OpenWrt:~# vi /etc/config/fstab

将option enabled ‘0’改为option enabled ‘1’,
将option target ‘/dev/sda1’改为option target ‘/overlay’,
按如下修改:

config 'global'
option anon_swap '0'
option anon_mount '0'
option auto_swap '1'
option auto_mount '1'
option delay_root '5'
option check_fs '0'

config 'mount'
option target '/overlay'
option uuid '********-****-****-****-************'
option enabled '1'

config 'swap'
option device '/dev/sda5'
option enabled '1'

config 'mount'
option target '/mnt/sda6'
option uuid '********-****-****-****-************'
option enabled '1'

按ESC键,输入:wq,保存并退出编辑器。

3.4 复制/overlay到U盘

将/dev/sda1挂载到/mnt

root@OpenWrt:~# mount /dev/sda1 /mnt

将/overlay复制到/mnt

root@OpenWrt:~# tar -C /overlay -cvf - . | tar -C /mnt -xf -
root@OpenWrt:~# umount /mnt
root@OpenWrt:~# reboot

3.5 检查是否扩展到u盘成功

查看rootfs是否增加

root@OpenWrt:~# df

也可以在luci中system-mount points下查看rootfs的大小和挂载情况。

4 解决遗留问题

此时再次查看fstab

root@OpenWrt:~# vi /etc/config/fstab

可见fstab又恢复原始状态,同时在luci中system-mount points可见Mount Points和SWAP的未勾上。
此时再次按之前的改动方法修改fstab,

root@OpenWrt:~# vi /etc/config/fstab

保存重启。

进入luci界面可见Mount Points和SWAP处enabled的勾已启用,但是Mount Points 的Filesystem处是问号。

第一行是sda1运行的/overlay,点击后面的edit,在device 处选择/dev/sda1,filesystem选择之前格式化好的格式ext4,同时勾上use as root filesystem,Save & Apply,然后点击back to overview返回Mount points主界面。

第二行是数据盘/mnt/sda6,点击edit,在device 处选择/dev/sda6,filesystem选择格式ext4,
Save & Apply,保存应用即可。

现在就可以安装很多你想安装的东西了。