プログラムの事とか

お約束ですが「掲載内容は私個人の見解です」

Galaxy 5G mobile Wi-Fi の不調と対策メモ

※ 自分用のメモです。おすすめしません。真似する方は自己責任でよろしくお願いいたします ※

環境

  • UQ WiMAX
  • 1月にプラン変更で「Galaxy 5G mobile Wi-Fi」に機種変更
  • 室内使用
  • 5Gエリア外

現象

  • 1週間くらい前からたまに(1日3,4回)インターネットに繋がらなくなった
  • ルーターとの接続は無問題
  • インターネットに繋がらなくなると自動復旧はしないのでルーターの再起動必須

負荷が多いとかそういうことではなく気づいたら不通になっているので、とにかくストレス

サポートに言われたこと

  • ファームの更新
  • SIMの清掃
  • 設置場所移動
  • それでもダメなら au shop で修理依頼

ファームの確認は一番にやってもちろん最新。現象発生中は最新ファームの確認もできないのでやっぱりルーターから外にいけないで確定だと思う

SIMの清掃は効果なし

場所移動は移動先が無いのでやっていないけど、移動する目的は「強い電波をつかむため」とかなんとかそんな話で、それと通信が復旧しないのは関係ない気がするのでパス。一応現象が発生した状態で移動したけど復旧しなかった

au shop は遠いし要予約なので最後の手段

良く外れる私の予想

先週まではなんの問題もなく使えていたので外部の環境が変わったと予想 (使い始めて2か月たっていないので故障は考えたくない)

UQ WiMAXの提供エリアを見ると今まで無かった5Gのサポートがすぐ近くに来ていた

5Gをたまに拾ってLTEに戻ってという切り替えが発生、その切り替えがうまくいかなくなっているのではないか (2021/3/2時点での予想)

対策

5G拾っているからダメ、という予想をしたので「だったら5G拾わなければいいじゃない」を実行します

ルータースマホ

Galaxy 5G mobile Wi-Fi は使ってみるとわかりますが、まんまスマホです。スピーカーとマイクが無いだけでOSはAndroidですし、開発者モードにも移行できます

詳しくは下のリンクで

www.hayaponlog.site

リンクの手順通りにアプリいれましたが、やはり野良アプリは安定しません。そこは何度もリトライすることで解決します

バンド選択アプリ実行

play.google.com

そのままなアプリがあるので入れて、これまたそのままな「LTE ALL」を選択します

おしまい

とりあえずこれで様子見。ダメならいよいよ au shop に予約かな


2022/03/10 追記

約一週間つかったので経過報告とか追記します

5Gをつかまないようにしてから上記現象が起きた回数は驚きの 0 回!

原因はファームの人に聞かなければわかりませんが、少なくとも5Gをつかまないようにすれば現象は起きないようです

ちなみに UQ WiMAX のサービスエリアはこんな感じ↓。50~100mくらい行くと5Gのサービスエリアとなるようです

f:id:puni-o:20220310142850j:plain

とりあえず au shop に行かずに済んでよかったです

おまけ

Galaxy 5G mobile Wi-Fi を使っていてもう一つ問題点がありました

私は UQ WiMAXルーターWindows PC にUSBテザリングでつないで使っていたので今回も同様にしたのですが、Windows起動時にたまに認識してくれません

この場合 ルーター側のUSBテザリングを OFF → ON 、とすることで認識してくれるのですがこれもストレスです

今までのルーターではそのようなことは無かったのでやはりこれも Galaxy 5G mobile Wi-Fi の問題のようです

こちらは早々に USBテザリングをあきらめて Wi-Fi でつなぐようにしてしまいました

まとめ

ということで Galaxy 5G mobile Wi-Fi の問題点でした。フィードバックを送る手段があれば送るのですが、そのような窓口は無いので多分これらが修正されることはないと思います

ファームで修正してほしいのでフィードバック送りたいんですけどねぇ

iOSのMKMapViewの不思議な動き

iOSのMKMapViewは他のOS等で使う地図コントロール1と少し異なる動作をすることがあります

経度180度をまたぐ線

東経179度から西経179度に2度線を引きたいと思います

Leafletの場合

西経179度は-179度なのでそんな感じで置こうとすると

var latlngs = [
    [40, 179],
    [40, -179]
];

var polyline = L.polyline(latlngs, {color: 'red'}).addTo(map);

f:id:puni-o:20211222191031p:plain

こんな感じになります。179度から-179度まで減らす方向に線を引きます

ということで目的を果たすためには

var latlngs = [
    [40, 179],
    [40, 181]
];

という感じに179度から増える方向に2度、という指定をします

f:id:puni-o:20211222191326p:plain

ただこのままだと地図を動かすと出たり消えたりするのですが、それは今回は割愛

MKMapViewの場合

同じことをiOSでやってみます

let pos0 = CLLocationCoordinate2DMake(40,179)
let pos1 = CLLocationCoordinate2DMake(40,181)
let coordinates = [pos0, pos1 ]
let polyLine = MKPolyline(coordinates: coordinates, count: coordinates.count)

self.mapView.addOverlay(polyLine)

結果はこんな感じ

f:id:puni-o:20211222191538j:plain

逆方向にすると

let pos0 = CLLocationCoordinate2DMake(40,-179)
let pos1 = CLLocationCoordinate2DMake(40,-181)

f:id:puni-o:20211222191619j:plain

面白いですね

求める線を描くためには

let pos0 = CLLocationCoordinate2DMake(40,179)
let pos1 = CLLocationCoordinate2DMake(40,-179)

f:id:puni-o:20211222191741p:plain

です

便利なような不便なような

東経179度から西経179度まで西向きに線を引きたい場合どうするんだろう・・・

ヌル島 (null island)の扱い

ヌル島という島があります。

ja.wikipedia.org

実際にあるわけではなく 緯度:0 、 経度:0 に概念的にあるだけなのですが、世界一電子地図が訪れる場所だとかなんとか

MKMapViewでそこにPINを置いてみます(比較のために近くにもう一つ)

let pa = MKPointAnnotation()
pa.title = "(0,0)"
pa.coordinate = loc.coordinate
self.mapView.addAnnotation(pa)

let pa2 = MKPointAnnotation()
pa2.title = "(0.0001,0.0001)"
pa2.coordinate = CLLocation(latitude: 0.0001, longitude: 0.0001).coordinate
self.mapView.addAnnotation(pa2)

f:id:puni-o:20211222192355p:plain

(0,0) のPINはアイコンが描画されません。これは自前描画でも同様です

タイトルも出ないならば、まだ仕様といえなくもないですがタイトルだけはでます

というどう考えてもバグな動作があります。こちらは一応バグ報告してありますが修正されるのかどうなのかは微妙です

おしまい


  1. leafletなど私の観測範囲のみ

Azure Table Storage で NaN をどうにできた話

前回 puni-o.hatenablog.com の続きです

あの後Issue(プルリクではない)投げておきました

github.com

そして先ほどCloseされたので確認 (9月末には終わってたっぽい)

読み込み

プロジェクトを開いてAzure.Data.Tablesが12.0.1なことを確認、ごにょごにょしていたところ消して実行

Test1 , NormalValue , 2021/12/10 0:52:05 +00:00 , 1.23
Object of type 'System.String' cannot be converted to type 'System.Double'.

ちゃんとNaNの読み込みに失敗していることを確認しておきます

続いて最新の12.3.0に上げてもう一回実行してみます

Test1 , NormalValue , 2021/12/10 0:53:30 +00:00 , 1.23
Test2 , NaN , 2021/12/10 0:53:30 +00:00 , NaN
Test3 , PositiveInfinity , 2021/12/10 0:35:45 +00:00 , ∞
Test4 , NegativeInfinity , 2021/12/10 0:35:45 +00:00 , -∞

ちゃんと読めてるよぉぉぉ!!!

double.NaN , double.PositiveInfinity , double.NegativeInfinity

すべて読めます。EdmDouble の時にちゃんとdoubleでParseしてくれるようになったので当たり前なんですが、良かった

書き込み

いままでWindowsAzure.Storageで作っていたテストデータをAzure.Data.Tables側で作るようにしてみます

.NET number values such as positive and negative infinity cannot be written as valid JSON.

はい

double.NaNは通す

double.PositiveInfinitydouble.NegativeInfinity と キマリ*1 は通さない

まとめ

NaNがどうにかできてよかったです

*1:FF10発売から21年だってさ・・・