解决小米手环来电不震动提醒的问题

手上有小米5和小米6的手环,当手机来电时,手环联动震动提醒一直是正常的。但最近突然出现来电手环不震动的问题,其他的微信、短信和手环闹钟等通知的振动都是正常的,所以应该不是手环的硬件问题。而且更换了两个手环都有这样的问题,重置手环和重置APP也都无效。

这个问题困扰了一个多月,在APP内反馈和小米社区发帖都没有得到回应。今天突然发现手机上有小米运动健康和Zepp Life两个,后者貌似是旧的原小米运动APP升级来的,感觉是APP冲突,删除了Zepp Life,重置小米运动健康APP和手环,重新绑定,按提示开APP所需权限,问题解决!

如果只用手环和手表,可以用小米运动健康和Zepp Life其中任一个。如果还用其他设备,就只能用Zepp Life了,小米运动健康不支持

解决RouterOS v7使用SLAAC进行ipv6自动配置时地址失效的问题

一直在使用Mikrotik的路由器,用了RB750Gr2, RB750Gr3和RB3011,自从电信开始下发ipv6地址之后,在RouterOS中用SLAAC方式,让内网终端在路由器获取电信ipv6 prefix的基础上,通过无状态地址自动配置生成自己的ipv6地址。

RouterOS版本为v6时正常,升级到v7后,发现windows, android和linux都出现问题,具体表现就是有时候各类终端能正常获取ipv6地址,有些时候又不能,只有本地fe80地址,从路由器ipv6前缀自动配置生成的ipv6地址会消失,导致ipv6网络失效

至今的v7版本也还有这个问题,只好多次回滚降级到v6。直到最近用了RB5009,这个硬件不支持v6,这个问题又开始困扰。

一直以为是防火墙策略、ipv6参数等问题导致,断断续续摸索了1个多月都没能解决。

最后在https://www.cisco.com/c/en/us/support/docs/ip/ip-version-6-ipv6/213272-troubleshoot-ipv6-dynamic-address-assign.html学习了SLAAC的基本过程,用Wireshark抓包发现(过滤:icmpv6.type == 133 or icmpv6.type == 134 or dhcpv6),正常情况下终端通过icmpv6 type133的Router Solicitation(RS)报文宣告自己,然后路由器响应icmpv6 type134的Router Advertisement(RA)报文宣告ipv6 prefix。出现问题的时候,终端发出了RS报文,但是路由器没有响应RA报文,导致不正常。

红框为正常情况,发出RS后响应RA;出问题就是只有RS,没有RA:
点击看大图

RS报文详情:
点击看大图

RA报文详情:
点击看大图


最后通过一些关键字在Mikrotik论坛找到答案https://forum.mikrotik.com/viewtopic.php?p=797048,原因是v7的IGMP snooping 和IPv6存在冲突,在开启IGMP snooping时ipv6的组播包可能被丢弃。

在RouterOS v7的Bridge中,将ipv6 nd对应接口所属的bridge的IGMP Snooping关闭,恢复都正常!!!


---------2022-02-25补充---------
1、论坛友人反馈,可以在开启IGMP Snooping时再开启Multicast Querier,或者在Bridge对应的Port中关闭L2 hardware offloading。

2、又根据官方介绍Multicast Querier只能处理不带vlan tag的报文。如果开启vlan,需要安装固件的扩展包multicast package。但是ROSv7没有这个扩展包,理论上已经集成到主固件里面了,那就还是有问题。

我是开启了vlan的,所以暂时没折腾,以上供参考。


Google免费的G Suite服务将于2022年7月1日关闭

Google在今年1月就宣布,G Suite将在2022年7月1日起免费版不再能使用,继续使用就需要升级到Google Workspace付费订阅版本。
来源:《从G Suite 免费版(旧版)升级到更高版本》

从2008年2月开始使用G Suite中的邮箱部分,不知不觉已经14年了。。。Google也算是良心服务了。当时叫做Google Apps for Your Domain,其实就是可以绑定自己域名的gmail。我主要的需求是可以绑定多个域名,并且能配置通配符邮箱(catch all/wildcard/*)。

多年的使用,导致大量的注册邮箱都是使用“网站名@自己的域名”格式,不得不寻找替代品。用过企业微信邮箱、腾讯企业邮箱、zoho等,最近cloudflare还刚推出的mail forward电子邮件路由服务,免费!而且每个域名都可以添加账号和支持catch all,简直完美!!但是经过试用,从国内发信经常是收不到,可惜了。

寻寻觅觅一段时间,最终看上了servermx,最便宜的2G邮箱每年12欧元,目前不到90RMB,感觉可以接受。域名数量不限,支持catch all,10个alias别名。要说差点主要是一个mailbox只能设置一个主账号,catch all也只能针对这个主账号邮箱下的域名,其他域名只支持通过添加单个别名的方式使用,不支持catche all。但毕竟这个价格相对其他收费服务还是不错了,我主要也只需要1个域名的catch all,所以付了1年费先用着。他们家可以注册30天的试用,功能与付费完全一样,只是邮箱容量、邮件大小和发送频率不一样,可以先体验。

另外还有个解决方案就是在我柔弱的vps上安装比较轻量级的maddy邮局,这个之前就已经装上了,但是发现目前vps的ip从国内访问也是不很稳定,还是存在收不到信的问题,看什么时候能换一个再试一试,最终的目标还是要自给自足!


-----------------2022年3月6日补充-----------------
推荐一个刚发现的一体化邮局poste.io,初步体验了下,docker安装解决了邮局难安装和配置的问题,简直就是傻瓜化,而且支持catch all,在管理界面Virtual domains>点击对应域名>底部Edit Settings>Domain bin (accept mail for non-existent recipients to target email)配置即可。免费版不限邮箱和域名数量,初始安装后镜像近800MB,容器10MB,内存感觉最少也要几百兆,我柔弱的vps应该是无福消受了。

调整网络后安卓手机出现上网“卡”问题的解决

家里网络使用光猫桥接模式,通过RouterOS路由进行拨号,开启了IPv6。



原来一直使用第1种方案,下接一个WIFI无线路由器,无线路由是接到其WAN口上的,电脑和手机上网一直很正常。

近期调整网络,先是用方案2,无线路由改接到其LAN口上的;又用了AC+AP方式,通过方案3,将AP直接接在路由器下。方案2、3都遇到一个问题,就是安卓手机浏览器打开网页,微博、知乎等加载图片视频的速度都明显变慢,体验起来就像是网络时延变大,变得很“卡”。

检查发现在方案2、3下,在RouterOS上关闭了IPv6后变正常了,看起来像是开启IPv6造成的,由于IPv6访问速度较慢导致,但奇怪的是原来方案1也是一直使用IPv6的,却一直很正常的。

找区别,方案1手机上网是使用了RouterOS和WIFI的两次NAT,IPv4 DHCP和IPv6无状态分配都是使用WIFI无线路由器自带的;方案2、3是下级设备LAN接入上级设备LAN,直接使用RouterOS的NAT、IPv4 DHCP和IPv6 ND。NAT、ND感觉不是问题,疑问指向了DHCP。

RouterOS在IP>DNS中设置了2个IPv4和2个IPv6的DNS;IP>DHCP Server中配置了2个IPv4的DNS;IPv6>ND开启进行无状态地址分配,同时启用了Advertise DNS。




我是小米的安卓手机,在这种情况下,接入WIFI后会获取到RouterOS中IP>DHCP Server中配置的2个IPv4 DNS,还会叠加获取到IP>DNS中设置的2个IPv6的DNS;由于这2个IPv6 DNS响应比较慢,就导致手机感觉的“卡”。而Windows10不受这个影响,只会获取到IP>DHCP Server中配置的2个IPv4 DNS。安卓手机可以使用WiFiman APP在“状态”中查看当前手机获取到的配置情况。

简单说,由于启用了IPv6,当安卓手机的网络和APP都支持IPv6时,如果IPv6 DNS响应慢导致域名解析受影响,最后就出现手机上网的各种“卡”。之前关闭IPv6,导致IPv6链路失效,RouterOS也不会下发IPv6的DNS了,一切回归IPv4,所以也就正常了。

保留IPv6且不卡的解决方法,在RouterOS上配置,三选一
1、IP>DNS删除IPv6的DNS
2、IPv6>ND关闭Advertise DNS
3、寻找更好的IPv6 DNS替换IP>DNS设置


夏普空气净化器加湿不转

家里的夏普空气净化器,带加湿功能,夏天清洁之后现在使用,使用加湿功能时,面板上红灯闪,检查发现加湿轮不转,还以为坏了。。。

后来发现,奥秘就在下面这个蓝色小方块内,安装的方向和位置不对,机器会检测到,加湿轮就不转动,红灯就会闪。目测整个底座没有线路,可能是磁性感性的。

红框内的蓝色小方块:

注意安装方向和位置:

解决WIN10自动更新后AMD R7 250显卡出现花屏

在一台使用AMD R7 250显卡台式机上,启动进入BIOS、WIN10的PE系统均显示正常。安装WIN10开始也正常,快结束时出现了花屏,多次尝试后发现如果不插网线安装就正常,但是后继接入网络WIN10自动更新后仍然出现花屏;如果接入网络,在安装过程就会开始自动更新,这是导致问题的根本。
花屏

相同显示设备(天龙功放+奥图码投影)和HDMI线材接入板载显卡进入WIN10一切正常。

google、baidu无解决方案,2019年很多人遇到,要不就是回退WIN10的版本,要不就是安装当年AMD出的一个特定版本驱动,我尝试后者无效,安装AMD最新驱动也无效;不想装比较老的WIN10版本,没有尝试第一个方案。

后发现桌面鼠标右键>显示设置>高级显示设置,拖到最下面,可以设置刷新率,默认是59.xxxHz,经过替换发现改为60Hz(交错)屏幕不花了,但是显示效果不佳,而且又发现播放视频直通音频到功放,DTS播放正常,但是TrueHD没声音。

又继续摸索刷新率,最后发现改为30Hz,功放识别却是1080P 60Hz,这个时候显示不花屏,DTS和TrueHD都了正常,解决!

PHP下好用的图表库

amcharts,功能丰富,使用简单,文档完善。缺点是功能太丰富,文档也不好翻

https://www.amcharts.com

手动迁移QNAP NAS的iSCSI LUN文件

QNAP的NAS中有一块硬盘告警,在这块硬盘上除了有共享目录,还有一个500G的LUN通过iSCSI方式提供给centos使用。

我的硬盘都是独立使用的,没有做RAID,QNAP系统也没有提供LUN的迁移功能。

由于这块磁盘告警被系统强行设置成了只读,在centos里面也无法再次mount,所以也不能通过新建LUN,然后在centos中复制的方法来迁移数据了。

网上国内外也没找到相关的指引,自己摸索出以下方法:

1、ssh登陆到NAS,找到LUN实体文件在NAS的路径: /share/CACHEDEVn_DATA/.@iscsi.img/,n是数字,不同磁盘不一样,可以通过查看/share/CACHEDEVn_DATA/目录下的文件确定对应的硬盘。

2、在QNAP中iSCSI存储中,新建一个文件LUN。由于我之前旧的LUN是先设置为300G,后来不够用了又扩大到500G的,在硬盘上实际有2个文件对应这个LUN。所以我们新建时,要与之前的步骤一致,这样才能让新LUN生成的文件数量和大小与原来是一致的,否则无法替换。

3、对旧LUN停用、取消在iSCSI target中的映射。

4、对新LUN建立映射,加入到此前的iSCSI target中。

5、在centos中刷新iSCSI信息,可以运行lsscsi,在第一列中获取下面n数值。
echo "---" > /sys/class/scsi_device/n:0:0:0/device/rescan

6、在centos中对新LUN进行分区、格式化、mount;测试成功后,umount。

7、在NAS中删除新LUN产生的文件,然后用旧LUN的文件改名一致来替换。

8、重启NAS,否则mount装载后还是新LUN中的数据。

9、centos中mount。

就这样骗过了NAS,完成了数据迁移。使用下来目前一切正常。

解决新版foxmail文件夹无法跨账户移动

一直在使用foxmail,有多个邮件账户,为了方便将不同邮件账户下的文件夹都拖动到其中一个邮件账户下。但最近升级foxmail到最新的7.2.18.95,发现跨账户拖动的文件夹都回到了原来的账户下面,而且目前这个版本只能在同一个账户下移动文件夹位置,跨账户拖动无效。。。

网上搜索了半天也没找到解决方案,只得自己研究foxmail的文件结构,发现账户下的文件夹与安装目录下\Data\Accounts\中的Account.cfg和Account.htb有关。

这里简单分析会用到的一些数据:

Account.cfg保存了文件夹的ID以及名称等信息,从0x100开始,每0x100为一组;每组里面,0x00-0x03为文件夹ID(红色),0x11-0x12为文件夹名称长度(黄色),0x13开始为文件夹名称(绿色),由于是UTF-16编码,实际长度为文件夹名称长度x2

Account.htb保存了文件夹的目录树结构,从0x40开始,每0x10为一组;每组里面,0x04-0x07为文件夹ID(红色),0x08-0x0B为“后继子文件夹ID”(黄色),0x0C-0x0F开始“后继同级文件夹ID”(绿色);文件夹ID如果为0xFFFFFFFF标识为“无”


知道文件夹的目录树结构就好办了,把邮件账户下最后一个文件的“后继同级文件夹ID”从0xFFFFFFFF改为想移动过来的一组文件夹里面的第一个文件夹ID,再将原来指向想移动的文件夹的前序文件夹的“后继同级文件夹”改为0xFFFFFFFF,收工。

PS.这个方法只针对POP3类型账号下的文件夹,IMAP类型账号的文件夹是直接建在服务器上的,是不能跨账号挪动的。IMAP对应的文件在安装目录下\Storage\<账号名称>\Accounts\。

php7.4.9增加gd扩展

全部以源码编译方式为例,在centos7上操作

1、下载
https://www.php.net/distributions/php-7.4.9.tar.gz

2、准备(应该有多余的库
yum -y install patch gd-devel libxml2-devel libmcrypt-devel openldap-devel mhash-devel curl-devel libpng-devel libjpeg-devel freetype-devel sqlite-devel oniguruma-devel zlib-devel

3、编译安装

方式一:将gd静态编译到PHP中
php
cd /xxx/php-7.4.9/
./configure
--prefix=/usr/local/php
--enable-fpm
[b]--enable-gd[/b]
--with-freetype
--with-jpeg
--with-iconv
--with-zlib
--enable-xml
--disable-rpath
--enable-bcmath
--enable-shmop
--enable-sysvsem
--enable-inline-optimization
--with-curl
--enable-mbregex
--enable-mbstring
--with-openssl
--with-mhash
--enable-pcntl
--enable-sockets
--with-xmlrpc
--enable-soap  
--without-pear
--enable-ftp

make
make install

无需配置php.ini


方式二:将gd编译成扩展
cd /xxx/php-7.4.9/ext/gd
[b]/usr/local/php/bin/phpize
./configure --with-php-config=/usr/local/php/bin/php-config --with-freetype --with-jpeg --enable-gd[/b]
make
make install

配置php.ini
[b]extension=gd[/b]