随身wifi改造打印盒子,支持安卓/IOS/Windows
23年4月发现了随身WIFI的妙处后,一发不可收拾,这玩意带modem,内存512M,flash 4G,带USB口,有WIFI,芯片一般是高通8916,这可是当年手机上用的芯片,跑个Openwrt应该是轻轻松松。
本着能省一点是一点的精神,闲鱼收了一个970的,未刷机,25大洋包邮的
既然也不贵,也懒得备份基带之类的,收到后用酷安社区的“SP970工具箱”打开了adb端口,安卓系统看都没看,就开始刷机,970可以刷openwrt或者debian,均实验通过,过程记录如下:
1.Openwrt+docker方案
openwrt的刷机过程不在细说,拿来主义,酷安上随便一搜就有,实在不行就百度,刷机后,m版本信息如下:
前期研究过openwrt编译cups的过程,还是比较麻烦的。这个随身wifi的openwrt里面自带docker,先下载如下docker镜像
docker run -d --name=CUPS_M7 \
--restart=always \
--net=host \
-v /var/run/dbus:/var/run/dbus \
-v ~/airprint_data/config:/config \
-v ~/airprint_data/services:/services \
--device /dev/bus \
--device /dev/usb \
ydkn/cups
运行后的cups版本是2.2.10,还算比较新,https访问,注意,用户名密码都是admin,跟openwrt的登录密码没有关系
添加打印机后,通过扫描热点的方式,让随身WIFI接入家庭局域网,固定局域网IP。随后Android,IOS,Windows均可以自动发现打印机,试了下打印,均OK
然后是硬件部分改造,因为打印机是方口USB,需要转接成普通USB,另外,打印机的USB口没有5V电源,所以,需要另外引出,这点不太方便,硬件改造需要一定的动手能力。
注意,随身wifi有时会出现分区只读,导致配置不能保存,docker工作异常等现象,需要在启动脚本中增加如下代码:
# usb auto otg
sleep 1
grep 0 /sys/kernel/debug/usb/ci_hdrc.0/device | grep speed
if [ $? -eq 0 ]
then
echo host > /sys/kernel/debug/usb/ci_hdrc.0/role
fi
e2fsck -y /dev/mmcblk0p14##sleep 25 && /etc/init.d/network restart
exit 0
echo host > /sys/kernel/debug/usb/ci_hdrc.0/role
这行的作用是把usb口设置成host模式,保证可以连接打印机
e2fsck -y /dev/mmcblk0p14
这行的作用是确保异常断电情况下,检查文件系统错误,避免分区只读
2.Debian方案
Openwrt安装起来其实也挺方便的,折腾Debian的原因是随身wifi的Docker多少有些不稳定,因为之前是用N1刷的Armbian,那是相当稳定,所以在Debian上做了尝试,与Armbian是完全一样的,过程记录如下:
1.刷机
不多说了,用的苏苏亮亮的固件,有2022-05-28和2022-06-02两个版本,得用0602版本,老的那个版本刷机后没有rndis口,配置起来不方便。
固件传送门
刷完后,apt update会报错,需要解决,执行如下4行命令
sudo sed -i '1c deb http://mirrors.tuna.tsinghua.edu.cn/Adoptium/deb buster main' /etc/apt/sources.list.d/AdoptOpenJDK.listgpg --keyserver hkp://keyserver.ubuntu.com:80 --recv-keys 843C48A565F8F04Bsudo gpg --armor --export 843C48A565F8F04B | sudo apt-key add -sudo sed -i '1c #deb http://repo.mobian-project.org/ bullseye main non-free' /etc/apt/sources.list.d/mobian.list
然后apt就可以更新了
2.cups安装
安装如下:
apt install cupsapt install printer-driver-gutenprint ##兄弟、爱普生、联想装这个apt install hplip ##惠普装这个
3. 修改配置
随后,要修改cups的配置文件,按如下截图修改
添加打印机后,把打印机的名称记录下来,例如下图中的例子“EPSON_L360_970”
修改如下文件,把“printers/EPSON_L360_970”这行改对了
<?xml version="1.0" ?>
<!DOCTYPE service-group SYSTEM 'avahi-service.dtd'>
<service-group>
<name replace-wildcards="yes">AirPrint EPSON_L360 @ %h</name>
<service>
<type>_ipp._tcp</type>
<subtype>_universal._sub._ipp._tcp</subtype>
<port>631</port>
<txt-record>txtvers=1</txt-record>
<txt-record>qtotal=1</txt-record>
<txt-record>Transparent=T</txt-record>
<txt-record>URF=none</txt-record>
<txt-record>rp=printers/EPSON_L360_970</txt-record>
<txt-record>note=EPSON L360 CUPS</txt-record>
<txt-record>product=(GPL Ghostscript)</txt-record>
<txt-record>printer-state=3</txt-record>
<txt-record>printer-type=0x80900c</txt-record>
<txt-record>pdl=application/octet-stream,application/pdf,application/postscript,application/vnd.cups-raster,image/gif,image/jpeg,image/png,image/tiff,image/urf,text/html,text/plain,application/vnd.adobe-reader-postscript,application/vnd.cups-command</txt-record>
</service>
</service-group>
把上述文本保存成一个文本文件,名字叫:“AirPrint-EPSON_L360”,保存到/etc/avahi/services/目录下,随后重启avahi服务
systemctl restart avahi-daemon
然后windows,android,ios就可以自动发现打印机,不需要额外安装驱动
把cups和avahi设置为开机启动
systemctl enable cups
systemctl enable avahi-daemon
最后,把usb设置为host模式的脚本加入rc.local
#!/bin/sh -e
# 下面这条是要开机启动的命令
nmcli connection up USB
sleep 5
nmcli connection down USBecho host > /sys/kernel/debug/usb/ci_hdrc.0/role #加入此行exit 0
4. 结束,enjoy
随身wifi改造打印盒子,支持安卓/IOS/Windows相关推荐
- unity3D埃及探险游戏源码,支持安卓+IOS双端 unity2019 C#语言开发
unity3D埃及探险游戏源码,支持安卓+IOS双端 unity2019 C#语言开发.完整的源码可直接运营.拿来学习研究和二次开发都很不错. 源码下载 unity3D埃及探险游戏源码C#语言开发.完 ...
- 王者荣耀战力查询小程序源码下载-支持安卓ios微信和QQ战力查询支持打包成APP
王者荣耀战力查询小程序源码下载-支持安卓ios微信和QQ战力查询支持打包成APP 该源码没有后台的也无需后台的,所以也就没有什么服务器和域名的烦恼和费用了 使用方法用HBuilder X软件打开文件然 ...
- cocos2dx+JAVA手游《全民挂机》全套源码支持安卓+IOS双端
cocos2dx+JAVA手游<全民挂机>全套源码支持安卓+IOS双端,客户端用cocos2dx 2.2.3实现,服务端用java,支持安卓+IOS双端,一款很不错的挂机游戏源码! 源码下 ...
- Unity密室逃脱-逃离房间游戏源码.,支持安卓+IOS双端 unity2021 C#语言开发
Unity密室逃脱-逃离房间游戏源码.,支持安卓+IOS双端 unity2021 C#语言开发.完整的源码可直接运营.拿来学习研究和二次开发都很不错. 源码下载 unity密室逃脱-逃离房间游戏源码C ...
- unity5.X简易的3d跑酷游戏源码。支持安卓+IOS双端 C#语言开发。
unity5.X简易的3d跑酷游戏源码.支持安卓+IOS双端 C#语言开发.拿来学习研究和二次开发都很不错. 完整源码下载 unity5.X简易的3d跑酷游戏源码.支持安卓+IOS双端C#语言开发-U ...
- unity休闲游戏象棋游戏源码,支持安卓+IOS双端 unity2019 C#语言开发
unity休闲游戏象棋游戏源码,支持安卓+IOS双端 unity2019 C#语言开发.完整的源码可直接运营.拿来学习研究和二次开发都很不错. 源码下载 unity休闲游戏象棋戏源码C#语言开发-Un ...
- unity5.6滑雪游戏skiing源码DownhillSkiingGame。支持安卓+IOS双端 C#语言开发。
unity5.6滑雪游戏skiing源码DownhillSkiingGame.支持安卓+IOS双端 C#语言开发.拿来学习研究和二次开发都很不错. 源码下载 unity5.6滑雪游戏skiing源码D ...
- unity5.6回合制战斗卡牌游戏源码支持安卓+IOS双端 C#语言开发
unity5.6回合制战斗卡牌游戏源码.支持安卓+IOS双端 C#语言开发.拿来学习研究和二次开发都很不错. 说明:使用Unity 5.6.0f3开发,插件使用Dotween 源码下载 (1条消息) ...
- unity飞行模拟游戏源码,支持安卓+IOS双端 unity2019 C#语言开发
unity飞行模拟游戏源码,支持安卓+IOS双端 unity2019 C#语言开发.完整的源码可直接运营.拿来学习研究和二次开发都很不错. 源码下载 unity2019飞行模拟游戏源码C#语言开发-U ...
最新文章
- 斯坦福CS330 2019秋季课程视频全新上线,专注多任务与元学习
- opencv 图像识别 e语言_openCV-特征点匹配算法介绍一:理解特征
- Intel汇编语言程序设计学习-第四章 数据传送、寻址和算术运算-上
- C#之windows桌面软件第十一课:电脑ADC值显示(上位机)(多通道显示)
- vb.net 的 openFileDialog 控件文件筛选器使用
- C++ 中重载 + 操作符的正确方法
- 泛函分析——步尚全老师第四章课后题答案往年题
- C# ToString()和Convert.ToString()的区别【转】
- VMWare Workstation虚拟机 安装Centos7 图文指南
- 商(quotient)—— 两数之比
- myeclipse 8.5安装freemarker插件方法
- php 虚拟主机和虚拟目录的配置
- python爬虫教程书籍-python入门书籍(爬虫方面)有哪些推荐?
- IP的正则表达式 IP地址的正则表达式写法
- CNTV数据库高级经理田发明:SQL审核与开发规范
- 2020清北学堂NOIP刷题营day3Bdierti洛谷P4310绝世好题
- 通过AI,领略皮影戏艺术 | MixLab人工智能
- 人体自身的神奇补肾法 ——你在外面花多少钱都学不到的
- “咔咔咔”手机拍照过新年 是时候了解下背后的技术了
- Spring security开发权限管理系统(一)