因为玩硬件经常有的默认是去github拉取更新数据的,所以局域网上魔法很多时候是最方便的办法,OpenWrt的好处是可以做一个旁路由,设备网关走这个的话就可以直接访问github这样。因为比如Homeassistant你想更新就比较难在上面搭建代理
烧固件
因为我用的是一个闲置的树莓派2B,作别的都会有点卡,正好用来做个路由器。
我装的是ImmortalWrt,因为OpenWrt装好以后有太多要装的包了(甚至比如中文语言包),ImmortalWrt会预装好一些东西省点事情,固件下载地址在这里https://downloads.immortalwrt.org/
因为我的是树莓派2b所以选这个
用balenaEtcher之类的烧录好之后上电就行
SSH
树莓派只有一个网口,默认会初始化成LAN口,所以用一个网线和电脑连起来,然后默认ip 192.168.1.1。浏览器打开以后初始密码为空会提示设置一个密码。
在网络 》》 接口这里可以看到有个lan什么的,默认是静态ip,改成DHCP客户端
就可以把树莓派插到路由器上了,在路由器可以看到设备被分别了ip
后面就用这个ip可以打开luci和ssh。
opkg
此时OpenWrt已经联网了,可以ssh进入后台后输入
opkg update
更新包,以及
opkg list-upgradable | cut -f 1 -d ' ' | xargs opkg upgrade
更新所有可以更新的包
不过我试了两次执行第二个语句的时候都会第一次失败第二次报下面这个错。
我们把原来的备份一下然后把新的替换了就可以了
此时我这里已经全更新完了
WiFi
安装驱动,我的是EDUP EP-N8508GS这个usb网卡。按照这里的说法,先安装usbutils
opkg install kmod-usb-core kmod-usb-uhci kmod-usb-ohci kmod-usb2
opkg install usbutils
现在lsusb
就可以打印出usb设备了
然后opkg install kmod-rtl8192cu
安装驱动后reboot
重启
passwall
要点一次手动订阅
usb网卡
淘宝买了一个usb网卡,回来以后发现直接插上是不管用的。
显示他用的是WCH的芯片,WCH官网查一共有两个芯片CH397和CH337。
然后打开windows下的驱动,发现里面是写了CH397。然后插论坛发现这个芯片支持CDC-ECM驱动。
在openwrt里面查看CDC-ECM的配置方式是装一个kmod-usb-net-cdc-ether的驱动https://openwrt.org/docs/guide-user/network/wan/wwan/ethernetoverusb_cdc
然后就能看到这个网卡了
常用指令
-
oweroff
是关机 -
uci
是设置选项 -
opkg
是包管理
如果安装的时候报错
opkg_conf_load: Could not lock /var/lock/opkg.lock: Resource temporarily unavailable.
可以先删除然后再update
rm -f /var/lock/opkg.lock
opkg update