教程

为 Imagick 添加 webp 支持 (Ubuntu 16.04)

Ubuntu 16.04 源里面安装的 Imagick 不支持 webp ,所以得自己编译一个。

编译 ImageMagick

首先下载源码

wget https://imagemagick.org/download/ImageMagick.tar.gz

解压并打开

tar xvzf ImageMagick.tar.gz
cd ImageMagick-7.0.8

打开webp支持
./configure --with-webp=yes

编译

make
make install

更新一下lib的绑定
ldconfig /usr/local/lib

运行一下可以发现已经有 WebP 的支持了
convert -list format | grep WebP

 

编译 PHP 模块

首先要有phpize,下面的命令可以安装

sudo apt-get install php7.0-dev

 

克隆下面这个git仓库,编译安装

git clone https://github.com/mkoppanen/imagick.git imagick
cd miagick
./configure
make
make install

 

文件编译在当前目录的 modules 下,会有提示 Libraries have been installed in:

修改/etc/php/7.0/fpm/php.ini,添加一行

extension=/root/imagick/modules/imagick.so

 

重启一下 php 和 nginx 的服务

systemctl restart php7.0-fpm
systemctl restart nginx

此时已经完成,Imgick 有 WebP 的支持了

在 OpenWrt 上使用 华为 E5573s

华为 E5573s 可能是国内卖得最火的 随身WiFi 了。不过它本身不能刷 OpenWrt,所以只能把他插在一个 OpenWrt 的路由器上。

这也是 OpenWrt 上装4G模块最方便的方法了。

有的人可能会用 OpenWrt 去桥接 E5573s 的 WiFi,不过无线的连接怎么都没有有线来得稳定。

如果有人试过把 E5573s 的 USB 连接到电脑上,会发现可以直接当作一个 USB 4G 网卡来用,那么插在 OpenWrt 上也是可以的。

 

首先在 OpenWrt 上查找到了 这篇wiki《Use RNDIS USB Dongle for WAN connection》

简单的安装了下面这两个软件包之后,发现并不能行。

kmod-usb-net-rndis usb-modeswitch

查看 dmesg,发现识别到了 usb 设备,但是出现的是存储设备,就是电脑上会显示的那个驱动盘。

Mon Jan 14 11:06:52 2019 kern.info kernel: [  431.813541] usb 1-2: new high-speed USB device number 2 using xhci-mtk
Mon Jan 14 11:06:52 2019 kern.info kernel: [  431.996638] usb-storage 1-2:1.0: USB Mass Storage device detected
Mon Jan 14 11:06:52 2019 kern.info kernel: [  432.003928] scsi host0: usb-storage 1-2:1.0
Mon Jan 14 11:06:53 2019 kern.notice kernel: [  433.014461] scsi 0:0:0:0: CD-ROM            HUAWEI   Mass Storage     2.31 PQ: 0 ANSI: 2

 

我之前就知道华为的随身WiFi还需要再安装一个 kmod-usb-net-huawei-cdc-ncm 的软件包才能正常工作,但是我装上重新插拔发现日志还是和上面的一样,只出现了驱动盘。

想了想应该是 E5573s 认为主机端的驱动没装好,只显示出驱动分区,但还缺什么才能让它识别出来呢?

于是上网搜索了一下,找到了 这一篇文章

按照文中所说的,把以下所有的软件包都装上了。

opkg install kmod-usb-net-rndis comgt-ncm kmod-usb-net-huawei-cdc-ncm kmod-usb-serial kmod-usb-serial-option kmod-usb-serial-wwan usb-modeswitch kmod-mii kmod-usb-net kmod-usb-wdm kmod-usb-net-qmi-wwan uqmi kmod-usb-net-cdc-mbim umbim

 

装好之后重新插拔,这次能够重新识别到了。

 

观察日志中,随身WiFi 注册在了 eth1 上,于是去 OpenWrt 上添加 eth1 的接口即可。

 

很奇怪的是,以前只要有 huawei-cdc-ncm 就可以让 E5573s 识别出来了,但现在要装更多的软件包才能正常识别。

而且以前这个设备是注册在 usb0 接口上的,现在又跑到了 eth1 上,不知道是哪里变了。

kX Driver 的连线教程

虽然 kX 驱动已经是上古产物了,不过现在 Win10 还能用,刚好声卡也在,就先用着。研究了半天,总算可以知道各个部分的意思了。

kX DSP

FXBus

FXBus 就是电脑内部的音频输出,比如说系统内的声卡选择,ASIO音频输出等等。

在我的电脑上面,输出是这样子的。

也就是说,往这几个音频设备里面播放,会对应从FXBus的2~7里面输出。

本来我这里名称为 “Main Out 2/3” 的设备应该是 0/1 从 FXBus 0 和 1 输出的,但不知道为什么也是走 2/3 输出,和另一个 2/3 都从 FXBus 2/3 输出。改了 Router 里的通道也没用,估计是 Win10 上有的 bug。我这里只有 ASIO 的 0/1 通道会走 FXBus 0/1。然而奇怪的事情是当 ASIO 占用了 0/1 通道之后,那个 Main Out 设备会提示被占用,它明明走的是 2/3 ???

如果往最顶上的那个 SPDIF/AC3 Output 输出音频,将会按照声道从 FXBus 2~7 对应输出。

如果要用 AC3 输出设备的话要进去修改支持的格式,只能选 Dolby Digital 。

OpenWrt 多WAN口以及扩展WAN口详细配置教程

本文适用于:

1.我想把 OpenWrt 的 LAN 口当作 WAN 口用

2.路由器上的 WAN 口也不够用了,我要外接交换机扩展 WAN 口

OpenWrt的交换机配置

首先打开 LuCI 中的交换机页面。

首先,你可能会听说过路由器有外挂交换机等等的说法。如上图所示的那样子,下面默认有两个 VLAN ,而且 WAN 口在单独不同的一个 VLAN 中时,就是外挂交换机的路由器。

简单比喻就是路由器的 CPU (或者说 SoC ) 上只有一个网络端口,路由器后面的这么多个端口都是靠连接到另一个交换机芯片分出来的网口。

你还可以用别的方法确认路由器的类型。像这张图的路由器,接口名称是 eth0 和 eth1 的就不是外挂交换机的,如果接口名是 eth0.1 eth0.2 这样子的就是外挂交换机的路由器。

在 OpenWrt 中,ethX.Y 的 X 代表物理端口,Y 代表这个端口的 VLAN。

实际上 eth0 eth1 这种接口名称的也是有外挂交换机的,意思是 SoC 提供了两个以太网口,一个是直连到 WAN 口,四个 LAN 口也是从 SoC 的第二个以太网口中分出来的。所有口都是直连 SoC 的路由器我就还没见过。。。 続きを読む