Monday, December 19, 2022

Fitbit Inspire 3 Review

I have been wearing a fitbit inspire 3 fitness tracker for two weeks. Here is my review.

The good,

  • Long battery life. I only need to charge it once per week.
  • Heart rate and sleep monitoring is among the best in the $50-$100 price range.
  • It also has a SpO2 sensor.

The bad,

  • The silicone band is uncomfortable. Probably because my wrist is too thin.
  • No GPS tracking. But I don't mind.
  • Does not support wireless charging. 
  • I need to manually sync the tracker with my phone due to iOS's restrictions on background syncs. (Edit: background syncs can be enabled on iOS.)
  • The iOS app is subpar. e.g. I need to go through multiple clinks to see my sleep patterns.

The ugly,

  • The charging cable is USB-A and less than 1 ft in length.
  • There aren't many third party bands for it at the moment.
  • The Fitbit branded stainless steel band is too expensive ($40).
  • Requires a $10/month subscription for "premium" features.

 

Eventually I sold the fitbit because I just don't like wearing a fitness tracker everyday.

Saturday, November 19, 2022

My Ideal Car

Exterior

  • Amber turn signal
  • LED steering responsive headlights with good IIHS rating.
  • Small front grill
  • Auto-dimming side mirrors
  • Rain sensing wipers

Interior

  • Seats at least 4 people
  • Auto-dimming rear view mirror
  • 6 way powered driver seat or better
  • Cloth seats or leather seats with heating and ventilation
  • Heated steering wheel
  • Sunglasses storage in the headliner.
  • Black headliner.
  • No sunroof.

Mechanical

  • Automatic transmission (CVT or AT, but not DCT)
  • Electronic parking brake with shift interlock
  • Auto brake hold
  • Full speed range adaptive cruise control with lane centering
  • 0-60 mph in less than 8 seconds
  • Combined fuel economy better than 30 mpg
  • Independent front and rear suspensions
  • Disc brakes

Misc

  • Wireless smart phone projection
  • Steering wheel control must have physical buttons
  • Automatic HVAC
  • AC temperature control must have physical buttons
  • Has a spare tire.

Tuesday, October 18, 2022

2nd Gen Airpods Pro Review

The second gen Airpods pro is mostly identical to the first gen.

The changes I am aware of are,

  • Volume controls on the stems. This is the most significant upgrade IMO.
  • The charging case has a speaker and a lanyard attachment.
  • Slightly longer battery life.

I did not notice any difference in audio quality or noise cancellation performance between the 1st and 2nd gen Airpods pro.

Wednesday, August 10, 2022

Soundcore Life Note 3 Bluetooth Earbuds Review

I lost my Airpods Pro at an amusement park last month. Expecting a new Airpods Pro release in the fall, I looked for a cheaper alternative. So I bought Soundcore Life Note 3 TWS earbuds for $40.

TBH, the soundcore earbuds exceed my expectation. It uses the BES2300 bluetooth SoC on both ears. The audio quality is intelligible from Airpods Pro in normal mode. And the charging case has a USB-C connector.

However, the manufacture did make compromises,

  • The earbuds have much longer stems than Airpods Pro.
  • The charging case is also bulkier than Airpods Pro's.
  • It does not support multi-point Bluetooth connections. So it cannot seemlessly switch between two devices. Fortunately I would only use it with my iPhone.
  • iOS integration is not as good as Airpods Pro. This could be due Apple's limitations.
  • The noise cancellation mode is noticeably weaker than Airpods Pro. The transparent mode is mostly useless. I think this is due to the lack of microphones. The Airpods Pro have 4 mics on each earbud. The Soundcore only has three.
  • No wear detection sensors. Music will continue playing until I put the earbuds into the charging case.

In all, I am satisfied at the $40 earbuds.

One thing I don't understand is why Soundcore has so many TWS earbud models. Even more than Apple, Sony, and Samsung combined.

 



Monday, April 4, 2022

Review of iPad Air 5 (2022)

I have owned a iPad Air 3 for three years. I used it for reading and watching videos. Apple announced a new iPad Air 5 equipped with M1 SoC a month ago. 

This is a specs comparison between iPad Air 3, 4 and 5.

I received my order of iPad Air 5 last week. Here is my take on iPad Air 5.

Good

  • USB Type-C port with DisplayPort mode. This is the biggest motivation for me to upgrade.
  • Touch ID.
  • Powerful M1 SoC.
  • Larger 8GB RAM. (iPad Air 3 has 3GB)
  • Speakers on both sides.
  • Ultrawide front camera.
  • Rear camera capable of 4k60p video recording. Although I never will record video with an iPad.
  • WiFi 6.

Bad

  • Lower battery capacity.
  • No 3.5mm jack.
  • The rear surface is not flat due to the protruding camera lens.
  • No home button. I find the gesture error prone. So I turned on assistive touch.
  • The fingerprint sensor is on the edge, which is difficult to access with one hand while the tablet is on a flat surface.
  • The fingerprint sensor is placed on the lock button. I often press the button while trying to unlock.
  • The edge is sharp and uncomfortable to hold. While iPad Air 3 has a smooth edge.

I wish Apple could build an iPad which has the best of both:

  • USB-C port
  • M1 SoC
  • 8GB RAM
  • Home button with fingerprint sensor
  • Flat bottom (I don't care about rear camera specs.)
  • Smooth edge

I also considered the iPad Air 4 which is $100 cheaper than 5. But it does not have M1 SoC or 8GB RAM. So I bought the 5.


Friday, April 1, 2022

NAT64 (RFC 6146) and DNS64 (RFC6147) on OpenWrt 21.02

Tested on OpenWrt 21.02.02 on Linksys EA8300.

 

NAT64

opkg update && opkg install kmod-jool jool-tools

Add the following to /etc/rc.local

insmod jool_common
insmod jool
jool instance add --netfilter --pool6 64:ff9b::/96

DNS64

Add the following to the LAN's dhcp section in /etc/config/dhcp

    list dns '2001:4860:4860::6464'
    list dns '2001:4860:4860::64'

References

Sunday, March 13, 2022

Fixing AT&T fiber's connectivity to China on OpenWrt

Note: AT&T fiber's IPv6 and IPv4 connectivity to China was restored as of Jan 2023. So the workaround below is unnecessary.

I switched to AT&T fiber last month and then found out that I could not open douban.com anymore. Some web search led me to https://www.reddit.com/r/ATT/comments/mbutte/is_att_blocking_china_internet_backbones/

So basically AT&T fiber has connectivity issue with IPv4 addresses in China. And they are unwilling to admit it or fix it. So I had three options,

  1. Switch back to Comcast.
  2. Install VPN on my devices and turn on VPN when I want to visit Chinese websites.
  3. Connect my router to a VPN and change its routing table to use the VPN for IPv4 addresses in China.

Option 1 is not preferred because Comcast's cable network has abysmal upload speed. Option 2 is feasible but requires VPN on my laptop, phone, and tablet. So I chose option 3.

Although AT&T fiber does not allow customers to bring their own router, the AT&T router supports IPv6 prefix delegation and IPv4 port forwarding. So I installed a OpenWRT router behind the AT&T one.

I configured wireguard on OpenWRT to connect to a VPS. Then I downloaded a list of IP net blocks in China from ip2location. I wrote a script to convert the list to a big OpenWRT static route config file and appended it to /etc/config/network. Then I executed service network reload. However, the command hung. It seemed OpenWrt could not handle 7000+ static routes. So I gave up on this option.

Eventually I worked out a solution using ipset, iptables, and shadowsocks.

1) Install shadowsocks on the VPS and configure it to run as a server.

2) Install shadowsocks-libev on OpenWrt and configure it to run ss-redir on port 2333.

3) Install ipset on OpenWrt.

4) On OpenWrt, create a file at /root/ipset.conf with following contents,

create china hash:net family inet hashsize 2048 maxelem 65536
add china 223.223.192.0/20
add china 47.89.54.0/23

repeat the "add china" pattern for all ip blocks in China.

5) On OpenWrt, append the following to /etc/firewall.user. This will instruct iptables to redirect all TCP connections to China to the ss-redir port.

ipset restore < /root/ipset.conf
iptables -t nat -A prerouting_lan_rule -p tcp -m set --match-set china dst -j REDIRECT --to-port 2333

6) Run service firewall restart on OpenWrt. (Or simply reboot OpenWrt)

7) Visit https://www.123cha.com. It should display the IP of the VPS.

Tuesday, March 1, 2022

Setting up 802.11s mesh on OpenWRT 21.02 routers

Update: I ran iperf3 on both 802.11s and WDS modes. 802.11s got about 150Mbps, while WDS had more than 200 Mbps. I reverted my setup to WDS.


I have two routers, Linksys EA7300v2 and Lenovo Y1, both running OpenWrt. I use WDS between them to build a wireless bridge. Recently I learned that WDS is deprecated and 802.11s is the replacement.

Here are steps to create a 802.11s mesh on OpenWrt 21.02,

1) Run command iw list | grep "Supported interface modes" -A 9 and check if the output contains "mesh point". If it does not, then the wireless driver does not support 802.11s.

2) Opkg remove the wpad-basic-wolfssl package and then install wpad-wolfssl. Because the former does not support mesh.

3) Reboot the device.

3) Append the following config to both devices' /etc/config/wireless file,

config wifi-iface '{set_a_name}'
    option device '{set_accordingly}'
    option mode 'mesh'
    option mesh_fwding '1'
    option mesh_rssi_threshold '0'
    option network 'lan'
    option mesh_id '{set_the_same_id}'
    option encryption 'sae'
    option key '{set_the_same_key}'
    option ifname 'wlan-mesh'

4) Run wifi reload.

5) Wait a few seconds and run iw dev wlan-mesh station dump. If the output is not empty, then the mesh setup is successful.

6) If the output is empty after a few minutes, run logread and see if there are any errors. I found that the EA7300 would fail to start the mesh if I set the channel to auto or a DFS channel. But the Lenovo Y1 does not have this problem. So I manually set the radios on both devices to channel 48 and it worked after wifi reload

References

  • https://openwrt.org/docs/guide-user/network/wifi/mesh/80211s
  • https://www.cwnp.com/wp-content/uploads/pdf/802.11s_mesh_networking_v1.0.pdf
  • https://www.simianer.de/blog/home-wifi-setup-with-802.11s-meshing-and-802.11r-roaming

Wednesday, February 23, 2022

Reasons to avoid cable modem router combos

I recently upgraded my Comcast Internet connection to 600Mbps. But my old cable modem only supports 160Mbps. So I bought a used Netgear C7000v2 router modem combo to replace both my old modem and router. I hoped that it would make my room more tidy.

The router combo's specs is not bad. It supports DOCSIS 3.0 and WiFi 5. The setup was very smooth. And a speed test yielded more than 300Mbps.

However, I found many limitations of the modem router combo in the first two weeks with it.

  • Only the ISP may upgrade the firmware. And ISP can push new firmwares without user consent. This implies that ISP might have full control over the router. A friend's Netgear CAX80 got bricked overnight likely due to an ISP initiated firmware update.
  • The guest WiFi does not hand out IPv6 addresses.
  • Does not support DNS over TLS or HTTPS.
  • No support for WPA3.
  • The management web page is sluggish and lacks many options (intentionally?). I was not able to
    • Disable WiFi Protected Setup completely
    • Change WiFi channel bandwidth (it always uses 80MHz on the 5G band)
    • Turn off 2.4G band radio

Fortunately, the router combo has a bridge mode, which makes it a standalone cable modem. So I turned on the bridge mode and reconnected my old router.

So my conclusion is, if you are a tech-savvy person, you are not likely to be happy with a router modem combo. But if you do not know WPA3, IPv6, DNS, or wireless channel bandwidth, a router modem may be a good choice.