海运的博客

x86运行arm64 docker

发布时间:January 19, 2023 // 分类: // 1 Comment

docker run --rm --privileged multiarch/qemu-user-static --reset -p yes
docker run --name test -i -t arm64v8/ubuntu /bin/bash

更多:
https://github.com/multiarch/qemu-user-static

编译纯净版k2p padavan支持802.11 kvr固件

发布时间:December 14, 2022 // 分类: // No Comments

安装依赖及下载源码:

apt install unzip libtool-bin curl cmake gperf gawk flex bison nano xxd fakeroot kmod cpio git python3-docutils gettext automake autopoint texinfo build-essential help2man pkg-config zlib1g-dev libgmp3-dev     libmpc-dev libmpfr-dev libncurses5-dev libltdl-dev wget libc-dev-bin bc
git clone https://github.com/padavanonly/padavan-4.4.git --depth=1
cd padavan-4.4/toolchain-mipsel
./dl_toolchain.sh

编辑trunk/build_firmware_modify注释掉特殊服务,并移除相应asp管理页面,不然编译后有相关菜单。

rm trunk/user/www/n56u_ribbon_fixed/Shadows*.asp 
rm trunk/user/www/n56u_ribbon_fixed/Advanced_aliddns.asp 
rm trunk/user/www/n56u_ribbon_fixed/Advanced_SQM.asp 
rm trunk/user/www/n56u_ribbon_fixed/Advanced_adbyby.asp

编译固件:

cd trunk/
fakeroot ./build_firmware_modify K2P

使用glibc编译的openwrt支持utf8中文显示和输入

发布时间:December 11, 2022 // 分类: // No Comments

将编译openwrt环境中的locale命令复制到路由上:

scp staging_dir/toolchain-aarch64_cortex-a53_gcc-8.4.0_glibc/bin/locale root@192.168.1.1:/usr/local/bin/

在任一linux机器上将生成的utf8编码复制到路由上:

scp /usr/lib/locale/locale-archive 192.168.1.1:/lib/locale/
scp -r /usr/lib/locale/C.UTF-8/  192.168.1.1:/lib/locale/

输入中文:

cat /root/.inputrc 

set meta-flag on
set convert-meta off
set input-meta on
set output-meta on

也可通过以下方法在openwrt路由上生成语言编码,占用内存大,小内存路由会kill。
https://github.com/openwrt/packages/issues/2900

360t7通过usb tll刷入不死uboot和openwrt系统

发布时间:December 5, 2022 // 分类: // No Comments

拆机连接ttl,从外到内依次为txd rxd gnd,也有人说rxd txd gnd。

用SRT连接或其它ssh管理软件:

启动时持续按f加回车键直到进入failsafe模模式:

#开启uboot控制台菜单(可选),开启后可通过uboot命令行更新固件。
#fw_setenv bootmenu_delay 3

# 挂载rootfs并开启telnet
mount_root
sed -i 's/.*local debug=.*/\tlocal debug=1/' /etc/init.d/telnet

# 修改root密码
passwd root
reboot

重启后通过telnet登录,查看分区表:

cat /proc/mtd 
dev:    size   erasesize  name
mtd0: 08000000 00020000 "spi0.0"
mtd1: 00100000 00020000 "bl2"
mtd2: 00080000 00020000 "u-boot-env"
mtd3: 00200000 00020000 "Factory"
mtd4: 00200000 00020000 "fip"
mtd5: 02400000 00020000 "ubi"
mtd6: 02400000 00020000 "firmware-1"
mtd7: 02400000 00020000 "plugin"
mtd8: 00100000 00020000 "config"
mtd9: 00080000 00020000 "factory"
mtd10: 00700000 00020000 "log"

备份整个路由固件:

cat /dev/mtd0 | nc 192.168.1.8 3333
nc -l -p 3333 > all.bin
#或
dd if=/dev/mtd0 | nc 192.168.1.8 3333
nc -l -p 3333 | dd of=all2.bin

刷入下载的uboot:

wget 192.168.1.8/mt7981_360t7-fip-fixed-parts.bin 
#验证文件是否正确,刷错路由会变砖。
md5sum mt7981_360t7-fip-fixed-parts.bin 
mtd -r write mt7981_360t7-fip-fixed-parts.bin fip

关闭电源将电脑ip设置为192.168.1.2,按住reset键路由开机,然后访问192.168.1.1 web界面刷入openwrt固件,使用immortalwrt-mediatek-mt7981-mt7981-360-t7-108M-squashfs-factory.bin,通过openwrt更新可使用immortalwrt-mediatek-mt7981-mt7981-360-t7-108M-squashfs-sysupgrade.bin。

https://cmi.hanwckf.top/p/360t7-firmware/
https://github.com/hanwckf/bl-mt798x
https://github.com/hanwckf/immortalwrt-mt798x

N1盒子/arm64下cups使用兄弟打印机Brother HL-2260D的问题

发布时间:September 18, 2022 // 分类: // No Comments

x86/x64下安装打印机驱动,model name输入为:HL-2260D

wget https://d.brother-movie.com/driver/1480/linux-brprinter-installer-2.2.3-1.gz
gunzip linux-brprinter-installer-2.2.3-1.gz 
bash linux-brprinter-installer-2.2.3-1 

安装程序内包含二进制x86程序,在arm下安装会提示错误:

/opt/brother/Printers/HL2260D/inf/braddprinter: Exec format error  

可以在一台空闲x86上安装cups,然后通过usbip将n1下usb打印机桥接x86上管理。
n1内核为5.3,已编译usbip模块,下载linux-tool提取usbip管理工具:

apt download linux-raspi-tools-5.4.0-1035_5.4.0-1035.38_arm64.deb
dpkg -X linux-raspi-tools-5.4.0-1035_5.4.0-1035.38_arm64.deb linux-tools
cp linux-tools/usr/lib/linux-raspi-tools-5.4.0-1035/usbipd /usr/local/bin/
cp linux-tools/usr/lib/linux-raspi-tools-5.4.0-1035/usbip /usr/local/bin/
apt install usb.ids
mkdir /usr/share/hwdata/
ln -s /var/lib/usbutils/usb.ids /usr/share/hwdata//usb.ids

服务端使用:

modprobe usbip-core
modprobe usbip-host
modprobe vhci-hcd
/usr/local/bin/usbipd -D
/usr/local/bin/usbip list --local
/usr/local/bin/usbip bind --busid=1-2

service:

[Unit]
Description=usbip server
After=network.target


[Service]
Type=simple
Restart=always
RestartSec=5
ExecStart=/usr/local/bin/usbipd
ExecStartPost=/usr/local/bin/usbip bind --busid=1-2

[Install]
WantedBy=multi-user.target

udev规则当usb插入时自动bind到usbip:

ACTION=="add" SUBSYSTEM=="usb" ATTRS{idVendor}=="04f9" ATTRS{idProduct}=="006d" RUN+="/usr/local/bin/usbip bind --busid=1-2"

如果内核无usbip支持,可通过第三方程序配置usbip服务端:

apt install libusb-1.0-0-dev
git clone https://github.com/raydudu/usbipd-libusb.git
cd 
mkdir usbipd-libusb/build
cd usbipd-libusb/build
cmake .. && make
./usbip_libusb -D 

x86 debian下挂载远程usb:

apt install usbip
modprobe vhci_hcd
usbip list -r 192.168.1.1
usbip attach -r 192.168.1.1 -b 1-2

自动usbip attach:

#!/bin/bash
set -x
while true; do
  if /usr/sbin/usbip port|grep -q "Brother" > /dev/null 2>&1; then
  else
    if /usr/sbin/usbip list -r 192.168.1.1|grep -q "Brother" &> /dev/null; then
      echo `date` 'start connect' >> /tmp/usbipd_log.txt
      /usr/sbin/usbip attach -r 192.168.1.1 -b 1-2
    else
      echo 'no exportable'
    fi
  fi
  sleep 10
done

客户端关闭时需detach,不然重接连接时需在服务端unbind:

usbip detach --port 00
usbip unbind --busid=1-2

service:

[Unit]
Description=usbip client
 
[Service]
Type=oneshot
RemainAfterExit=true
ExecStop=/usr/sbin/usbip detach --port 00
 
[Install]
WantedBy=multi-user.target

在使用过程中如果出现以下错误:

usblp0: removed 
usblp 1-2: usblp0: USB Bidirectional printer dev 

禁用usblp并重启:

echo 'blacklist usblp' >> /etc/modprobe.d/usblp-blacklist.conf

apt源也有第三方兄弟打印机驱动,但是无hl-2260d版,不过使用其它型号也能正常使用。

apt install foomatic-db 
#或者
apt install printer-driver-brlaser
分类
最新文章
最近回复
  • fengfeng: N1 armbian 能有编译下内核吗。。我要开启can 不懂怎么操作
  • 1: 方法一ngtcp2要改下:./configure PKG_CONFIG_PATH=/usr/l...
  • 海运: 关闭服务器
  • 海风: override.battery.charge.low以及override.battery.r...
  • koldjf: 不能过滤
  • 杰迪武士: 此文甚好甚强巨,依照此文在树莓派2 + Rasbian上部署成功 感谢博主美文共赏
  • 海运: ups不知有没选项可设置此参数,不过你可以在另外一台电脑上安装nut客户端自动关机。
  • kgami: 想请教一下,设置了的电脑自动关机之后,几秒后UPS怎么也跟着关机了,导致另外一台电脑没关机就断...
  • 海运: 写的很详细了啊,/etc/nut/hosts.conf用以nut-cgi连接nut服务器参数,...
  • ryan: 请问下nginx配置好了,怎么和这个nut链接呢?最后可视化管理这块能给个详细一点的教程么?谢谢。
归档