2020年10月4日日曜日

【解決】iOS14にて一部環境においてテザリング(インターネット共有)ができない問題について

お久しぶりです。 
iOS14/14.0.1においてテザリングができなくなり、サポートに問い合わせました。
問い合わせたところ、この現象は日本において初の事例ということだったので共有します。
お役に立てれば幸いです。

問題:iOS14/14.0.1の複数端末においてubuntu20.04複数環境でテザリングができない

解決方法:問題をエンジニアに共有中(10/04~)、iOSアップデート待ち
追記(公式サポート):そもそもテザリングサポートはWindows,Mac系に限るのでLinuxは対象外(Androidは恐らく対象だと思われます…)

海外コミュニティでは既に同じ現象が報告されています。
https://discussions.apple.com/thread/251841768
Ubuntu環境下だけではなく、Linux/OpenWRT系においてテザリングできない問題が再現するようです。

特徴としては、
・Linux環境下
・それ以外の環境ではテザリング可能(iPhone to iPhoneなど)
・iOS13系では問題なく動作していた
となります。

本来Linux側で追加パッケージをインストールするはずなのでまあ対象外なのは当然ですかね‥
正規の方法ではダウングレードはできない仕様なので、同じ現象になってしまった方はAndroidなりのテザリングに切り替えることをオススメします…


2021/01追記
カーネルをそれ用に書き換えることで動作を確認できました(iOS14.3、iPhone11系列)。
MTUが1516から1514になったようですね…
https://github.com/libimobiledevice/libimobiledevice/issues/1038
やり方については引用します

# Install dependencies
sudo apt install -y git build-essential kernel-package fakeroot libncurses5-dev libssl-dev ccache

# Clone the kernel
mkdir ~/kernelbuild
cd ~/kernelbuild
git clone --depth=1 -b linux-5.4.y git://git.kernel.org/pub/scm/linux/kernel/git/stable/linux-stable.git
#                      ^ change kernel branch to the one you're using.
#                        check with `uname -r` and see the available list at www.kernel.org

cd linux-stable

# Use any graphic or terminal text editor to edit the file
# Graphic text editors: 
# xed in Linux Mint
# gedit in Ubuntu/Debian(?)
# Terminal text editors: nano, vim e.t.c. you know the drill

# Patch the kernel by changing IPHETH_BUF_SIZE to 1514
nano ~/kernelbuild/linux-stable/drivers/net/usb/ipheth.c

# Build custom kernel
cp /boot/config-`uname -r` .config # copy config from current  kernel
yes '' | make oldconfig
make clean
make -j `getconf _NPROCESSORS_ONLN` deb-pkg LOCALVERSION=-custom

# Install new kernel
sudo dpkg -i ~/kernelbuild/linux-*.deb

# Reboot
sudo reboot