水無瀬さんごのブログ Season2

ゼロ年代口調を抑えきれない ※技術力要素はありません ※文章力要素もありません

X210の無線LANをM.2形式のWLANカードに換装する

この記事は以下の記事もあわせてご覧下さい。
minasesango.hatenablog.com

今回はタイトル通りです。はい、よーいスタート。

というわけでX210には2箇所mini PCI-Expressがついていて、WLANx1・WWANx1とか、WLANx1・SSDx1のように使うことができます。
ぼくは後者ですね。
ところがWLANカードの調子がどうもあまりよろしくなく、なーんかちょっとルーターから離れると電波が途切れがち。
ルーターが2Fにある場合、1Fの台所に移動するともう全然通信できなかったりしがち。
その場合でもアンテナレベルは高いのに通信が糞詰まりを起こしがち。

というわけで換装しちゃいます。どうせなら新しいヤツにしたい。miniPCI-Eのカードは古いので、新しいM.2形式のカードの買っていきをしたいですね。
これまで使ってたのはコチラ。
[asin:B01KG73Z80:detail]
スペックシートを見ると、一応802.11ac/433Mbps対応ではあるようです。どーもそういう感じはしませんが。
とはいえ今ドキのカードではないのは確か。
これをコチラに変えていきましょう。
[asin:B07B4JNNTJ:detail]
'13年のカードから'17年のカードに変わるので4年の差はデカいですね。
2x2対応とかWave 2とかMU-MIMOとか大分世代が新しくなる感じはありますね。
BTは4.0から5.0になります。
てかそもそもMini PCI ExpressとM.2(NGFF)ってどれくらい速度差あるんでしょうね。謎です。

あと一応技適チェック。

ヨシ!
まぁなくったってバレやしませんが。
でもデューラスをナメちゃあいかん。この国が(何故か)電波には厳しいということを確認しておきましょう。
くわばらくわばら。

でまぁそのまんまじゃ当然miniPCI-Eとは互換性がございませんのでコチラを使います。


USBの信号が来てないと使えない(非フルスペックMini PCI-Expressだと使えない)とかいう脅しがありますが、X210の場合は大丈夫です。
中にはUSBの信号が来てないMini PCI-Eもあると思いますがどう見分けるのかは知りません。
知らないので調べてみました。

Mini-PCI Expressスロットは差し込む方向から見た場合、手前側の左から8番目と9番目に存在する「38番ピン」と「36番ピン」がUSBの「D+」と「D-」に相当します。
このピンがマザーボードと接続されていない場合はBluetoothを使うことが出来ません。

www.amazon.co.jp
目視でわかりますかねそれ?
メーカーが公表してないことも多いですし、そもそもワンチャン狙いでいくしかありませんね。
ワンチャンUSBが来てなくても改造次第でなんとかなるようです。
www.youtube.com
参考になりましたね!
ならねえ!

まぁそれはそうとして、X210はフルスペックMiniPCI-Eなので使えます。よかったね。

↑これを
↓こうじゃ

ちょっと基板がハミ出るのでヤバ……いかと一瞬思いましたが右側の基板の下にうまいこと潜らせることができました。
まぁ潜らせることができなくても多分動作に関係ないのでニッパーかなんかで切ってやればOK。多分ね。

あとアンテナなんですが旧型と新型ではかなりアンテナ末端の端子が違うのでご注意。
てか無線LANカードが腐ってたというよりアンテナの方が腐ってた可能性も全然ありますね。
今回はありがたいことに新規格のアンテナも通してくれてたので問題ありませんでした。
まぁこの辺はイザとなったらアンテナを変えるとよいのではないかと思います。
この商品の画像の所に説明が載ってますね。
[asin:B06ZY6NK61:detail]

さて速度なんですが、


ルーターの近くでは866.7MBps、懸念だった繋がらない台所でも585Mbpsが出ています。
実測ではそれぞれ700Mbps・300MBpsぐらい出てますので点数としては100点ですね。

1.73Gbpsの話ですが、ルーターも一応1.73GHz対応って書いてあったはず?
と思ったんですが1.73Gbpsには802.11ac Wave 2への対応が必要で、残念ながらルーターが対応ではありませんでした。
まあその辺はそこまで速度いらないんで別にいいですね。実測700M出れば十分でしょう。

というわけで今回は珍しく大・成・功の話でした。
そんじゃーね。

「録画中に番組情報を確認できませんでした」(推理編)

チューナーが1個腐ってた。
EDCBから見ればSignalは30.80ぐらい来てるんだけど番組情報が表示されず、UDPでも映像が送られてこない。
なるほどこういうことか~と。
ので、違うUSBポートに差し込んだ。
そうしたら番組情報が入ってくるようになった。

これで解決したかどうかは謎。
次回解決編、いつになることやら。

「録画中に番組情報を確認できませんでした」(事件編)

みんな~、TS抜きやってるか!
というわけで今回取り上げるのはこの問題。
f:id:minasesango:20190501233146p:plain
うーんなんだろ?
ま、一番最初に思いつくのはチューナーが腐ってて2番組同時録画とかするともう一個のチューナーがSignal0.00とかになっててDropどころじゃない場合だネ!
でもそうかと思えば3チューナー同時ぐらいならSignalちゃんと入ってるっぽいんだよネ!!
そして1チューナーしか動いてないときでもなってるっぽいんだよネ……。

PT3の頃はこんな問題は起きなかったのに……どうしたもんかネ!?
次回、推理編!
何日後になるかはわかんない。

レッツノートのWWANポートはWWAN専用(そしてプレミアムエディションの話)

みんな~やってるか!
なのだ!

というわけでレッツノートの話なのだ。みんな大好きレッツノートなのだ。
アライさんもつい最近レッツノート CF-RZ8を買ったのだ。短納期モデルなら翌営業日発送なのだ。

けどプレミアムエディションはSSDが高すぎるのだ!
レッツノートがそもそも高すぎるのだ。でもそれはそれでしょうがないのだ。他社がふがいないのが悪いのだ。
VaioなんかVGAを挿したらLANが刺せなくなるようなバカ配置をしているのだ。
f:id:minasesango:20190428143354j:plain*1
VGAなんて今ドキあるのがマヌケな感があるけどプロジェクターをつなぐならしょうがないのだ。
後進国でのビジネス用なのだ。
でもビジネス用やったらなおさら同時挿しできなアカンやろがい!

レッツノートはそういうマヌケなことは絶対しないのだ。
でもSSDを1TBにしたら+8万円はさすがにボッタクリなのだ!!
だからAmazonSSDだけ買って挿し替えるのだ。

本当はヨドバシカメラとかで吊しのレッツノートを買いたいのだ。
でも吊しのレッツノートSSDSATA接続、Web直販のプレミアムエディションはNVMeと、
アパルトヘイトも真っ青な露骨な差別があるのだ。
しかも吊しのレッツノートSSDをNVMeに挿し替えたらいいじゃんと思いきや、
吊しの方にはなんとPCI-Expressの信号が来てないからNVMeを挿しても認識しないのだ!
こんな差別が許されて良いのかなのだ!!
松下幸之助も泣いているのだ……。

前置きが長くなったのだ。アライさんが買ったのはCF-RZ8のジェットブラック、8500Y、その他は全部デフォルトにしたのだ。
短納期モデルはそれぐらいしか選べないのだ。LTEもなしなのだ。
ところが届いて裏蓋を開けたらビックリ!なのだ。
WWAN(LTE)用のM.2ポートが存在するのだ!
f:id:minasesango:20190428143802j:plain

店頭モデルには「PCI-Expressの信号なんか送ってやんねーーーーーーーwwwwwwFINAL FANTASY」みたいな差別をやっといて、
プレミアムエディションならLTEを選択しなくてもLTE用のスロットが存在する!!!
だけじゃなくアンテナ線まで来ている!!!!
やっぱりここは南アフリカなのか!?!?!?なのだ!!!

そこでアライさんは考えたのだ。
LTEは別にいらないのだ。スマホテザリングすればいいのだ。
けれど同じM.2スロットならSSDが挿せるんじゃないか!?
アライさんはかしこいのだ!!

というわけでBキーの2242 M.2 SSDを買ってきたのだ。
M.2用のネジはないから200円ぐらいで買うのだ。
f:id:minasesango:20190428144427j:plain

……

認識しないのだ!バイスマネージャにも現われないし、ディスクマネージャにも現われないのだ!!!!!!!

よく考えれば右下にSIMスロットはあるし、こいつはどうやらWWAN専用っぽいのだ。
SSDを挿してワンチャン認識されるかと思ったけどワンチャンなかったのだ。

アライさんの冒険はここで終わりなのだ。
適合するLTEモジュールを探してきて挿してもいいのだけれど、
裏蓋を開けるのにネジの数が膨大すぎてめんどくさいのだ。

Amazonに言ってSSDを返品してもらうのだ……。

Simutransをビルドする。そしてOpenMPを使って失敗する

Simutransを普通にビルドしていると1コアしかうまく使ってくれない。
ので、OpenMPを使うことにした。

が、単にForの前にOpenMPの記述を突っ込むだけだと、スレッドはバラけるけどスレッド同士の処理がなんかアレなのか、カクカク+フリーズしてマトモに動かない。
そりゃそうか(同期もせずに並列動作なんてできなくて当たり前だネ)。
しかし関数をいじるとなるとSimutransのソースコード全体の見通しがないとやりにくい。

というわけでOpenMPはおいといて、ビルドの方を少しいじることにした。
qiita.com

結果……
少し速くなったかな?という気がする。
コアが1個100%に張り付いていたのが90~97%ぐらいになった。

Simutransをビルドする

Simutransをビルドします。
といっても
qiita.com
の記事の通りやるだけだったりしますが、何点か違う点もあり、
shingoushori.hatenablog.jp
のサイトも参考になります。
下の方のサイトで間違ってるのはmingw32.exeじゃなくてmingw64.exeを使うこと、あたりでしょうか。

流れとしては

  1. pacman -Syuuでとりあえずパッケージをアップデート
  2. pacman -S ほげほげ で必要なパッケージを入れる(Qiitaの記事の通りやるとgccが入らないのでpacman -S gccとかもやる)
  3. MakefileをQiitaの記事を参考にいじる
  4. ちょっとtweakしておく(msys64\mingw64\bin\windres.exe をコピーして、もう一個の方を x86_64-w64-mingw32-windres.exe と改名しておく)
  5. make

ぐらいな感じですがMakefileはちょっと最新版で変更があるので要点としては「-Wl,--large-address-aware」のオプションを外すことです。
あとsim.exe単体ではDLLが足りねえと怒られたりするので、sim.exeと同じフォルダに\msys64\mingw64\binの中のDLLをコピーして放り込んでやったりするとよいでしょう(雑解決)。

それからコンパイラに渡すフラグに-O2とか-msse -msse2とか付けておいても良いんだけど効果がどれくらいあるかは謎。

ところがどっこい、これで64ビットにはなるけど1コアしか使ってくれない。
なんでだろ~(死語(死歌?))
多分ソースコードに問題があるんじゃないかな~。

4Kで遊んだりすると一気にCPU使用率が上がるのでなかなか辛いものがありますね。
というわけで続報を待たれよ。