画像生成AIについて、主に2022年夏からの濃厚な半年間を、そろそろまとめとかないと色々忘れそう!、ということで備忘録として残したいなと思い、書いてみました。(基本的に先人の方々がTwitter上で発表されたことを後追いでやっているだけなので、あまり技術的・実用的に役立つことはないと思います)

 

とりあえず「何か新しいWUGの片山実波ちゃんを見てみたい」というシンプルな理由で色々取り組む原動力があって、こういう「具体的な用」がないとここまでやる気はなかっただろうな、と思います(同人活動も割とそれです)。

 

まず画像生成AIより前のAI関連から。

2018/2/23 PaintsChainer (自動着色AI)

Preferred Networksさんの自動着色AIのPaintsChainerがおもしろいと思ってその頃たまにワンドロで描いてた絵に着色。その頃迫っていたWake Up, Girls!オンリー(仙台)に用意していたコピー誌で、せっかく表紙をカラー印刷するのに裏表紙が白くては勿体ないと思って使ってみました。


2018年3月4日にあった、Wake Up, Girls!オンリー(仙台)で頒布したコピー誌の裏表紙。

 

元の絵(サークルカットとワンドロ絵3つ)と自動着色後
 

PaintsChainerの着色前の画像 WUGワンドロより PaintsChainerの着色後の画像 WUGワンドロより

※サークルカットのサークルの字が消えてるのは実際に処理にかけたファイルが異なっていたからと思われます。

PaintsChainerの説明ページ

その時収録した、何か雑誌風解説ページを装ったページ。その中に書いてある通り、この時生成した絵は、ウェブサービスPaintsChainerではなくGithubのものをローカルで実行したもので、少しモデルが異なっていたと思います。

 

現在はWebサービスのPetalica Paintというものになっているようですね。

 

3枚は以下の3つのワンドロの絵が元です。

 

 


尚、この時以降、自動着色は、手作業でのシンプルな塗りを目指したので出番はない感じです。

2022/5/7と2022/8/13 古のLOGO言語

AIではなく、「絵を描かせる」という点で単なる自動描画の話ですが、アルス・アルマルの魔法陣(公式グッズのTシャツの魔法陣)をストーリーに入れています。

LOGO言語でタートルの代わりにでびちゃんが描くという他愛もない話で完全なフィクション設定。

調べている過程で、LibreOfficeのマクロで実はLOGOが動くと知って驚きました。(実質Pythonに自動変換されている?)これを知ったのが5月のオンリーギリギリのタイミングだったので、再録した8月の方の本にコードとともに掲載しました。

アルス・アルマルの魔法陣をLOGO言語で再現するページ

こういう変なページ作るの楽しいんですよね…

2022/8/23 Stable Diffusion 1.4

2022/8/23に使用開始。

8月に入ってからMidjourneyをTLで少し見てましたが、課金制だからどうしようかなあと思っていたところで、Stable Diffusionが登場。CGアート寄りな雰囲気でちょっと好みと離れていたこともありましたが、"kawaii"のキーワードをプロンプトに入れるとアニメ寄りな絵が出るらしいという噂が出始めて、試してみることに。

 

また、最初の頃はかなりVRAMをたくさん積んだハイエンドのグラフィックスカードがないと生成できない、という話だったのが諸氏の取り組みでどんどん要求スペックが下がってきて、GeForce GTX 1660 SUPERの6GBでもなんとかなるという話にもなったのもあります。


使い始めの頃、よくわからないそれっぽい色の架空のアイドルアニメのジャケ写っぽい何かがみるみる生成できる!ってちょっとおもしろがっていました。
Stable Diffusionによる二次元アイドルのジャケ写風画像(AI生成)

サムネイルぐらいで雰囲気がいいですけど、拡大すると「あっ」となる感じ。

GeForce GTX 1660 SUPERで50ステップで20枚に12分ぐらいかかっていたようです。

 

2022/9/12 Waifu Diffusion 1.2

Waifu Diffusion 1.2のモデルがリリースされたので導入。

基本的なレベルで大幅に得意になった感じがします。

この時期あたりから徐々にpixivにAI生成の投稿を見かけるようになったと思います。

このあたりから必然的に「どのようにして片山実波ちゃんっぽく出せるか」というのが課題になっていきます。

頭が切れたアップばかりが出てくるというのも今やちょっと懐かしい感じで、同じシードでプロンプトのかかり方を色々検証するという感じの繰り返し。

 

GTX 1660 SUPERの6GBのVRAMで生成に対応したのが動いたこともあり、この頃からtext to imageでは主にdiffusersを使っています。

2022/9/22 GPU増強とTextual Inversion開始

飽きるかもしれないし、どの程度使うかわからないなと予防線を張りつつ、グラフィックスカードの高騰が収まってきて、40シリーズが見え始めてきたあたりで、GEFORCE RTX3060 12GBにアップグレード実施してスピードアップ。

(生成を回している間に、ゲームの方をもとの1660SUPERでサブPCでするというスタイルになったり)

 

9/24頃に、(それぞれ、いつも参考にさせていただいている)kohya_ssさんの国木田花丸ちゃんが凄いというのを見て、npakaさんのNoteを参考にTextual Inversionを始める。

Stable Diffusion web UI (AUTOMATIC1111) で Textual Inversion の学習済みモデルを使う|npaka|note

 

このあたりで、Google Colabを使って、追加学習のTextual Inversionを始めてみる。

たまにいい感じのが出るVictorian-eraスタイル。

Textual Inversionしたモデルでvictorian eraスタイルの片山実波(AI生成)

2022/9/28 Stable Diffusion web UI (AUTOMATIC1111)、9/30にGoogle Colab Pro使用開始

※追加学習でColabに課金しないで可能かを検証をしていたが、手元のWSL2環境で当時コンパイル済みのライブラリが不足していたか何かで環境が整っていなくてちょっと難しいと感じたのと、今後のことも考えてColab Proも併用開始。

 

2022/9/29 初期のi2i

i2iの片山実波の元の絵   i2iの片山実波(AI生成)

image2imageの実験。数分ぐらいのラフで描いた絵でやってみたら意外といい感じに。(この品質で出たのは数百枚分の一の確率)

ことごとく、実波のトレードマークのおさげがどうしてもスルーされてしまう。(Denoisingの調整をすればもっと近づけたかもと、後に判明)

 

2022/10/1 Waifu Diffusion 1.2のDreambooth学習調整

WD1.2のDreambooth学習も少しステップ数を調整してだいぶ近づいてきた感じの頃。

Waifu Diffusion 1.2にDreambooth学習したモデルの片山実波(AI生成)

 

ただし、髪形が滅多に一致しない感じ。合ったものからi2iしたのが、pixivに上げたものです。

 

 

このあたり樋口円香の手づかみラーメンが話題になったころだと思います。

 

2022/10/3 Waifu Diffusion 1.2ベースでの調整完了

パラメーターを調節した結果、WD 1.2ベースのDreambooth学習で相当近づいたモデルができる。

Waifu Diffusion 1.2にDreambooth学習したモデルの片山実波(AI生成)

 

2022/10/6 ストレージ増強とOS再構築

メインのNVMeを1TBから2TBに増強

ストレージをガンガン使っていたら、次のWindows Updateと原神アップデートが入らない疑いが出てきたので。

 

ほんとうはAcronisでイメージを移すだけで予定していたが、元々の環境の都合で、結局ほぼフルのWindows 10の再インストール作業になる。

ASUS PRIME X570-P CSMがWestern Digital SN550と2020年1月当時、AMDのRAIDコントローラーを通さないとフリーズするという相性みたいなのがあり、仕方なく「1台のRAID 0」としてCドライブを構成していた(そのメモはこちら)。

Acronis True Imageは本来、環境の差を調整してくれる機能があるが、どの手段(WinPEベースのもの)をとっても認識しなかったので、結局、データはそのままでWindows 10の新規インストールとなった。

 

2022/10/13 Waifu Diffusion 1.3

Waifu Diffusion 1.3がリリースされたので、それに合わせてDreamboothの追加学習を再度実施。その時の気分でなぜか乾杯させてみた。

ビールで乾杯する片山実波(AI生成)

かなり驚いたのを覚えていますが、ここまでくると同人というよりも、まるで本物みたいな感じでちょっとそのつもりじゃないって感じになるわけですが…。

とはいえ、なんかお久しぶりです感を感じることができてちょっとおもしろかったです。

 

このあたりで、学習させる際のパラメーターが大体つかめた(1500step程度)こともあり、ほかのキャラクターを試してみることに。

カフェで給仕する日高愛 (AI生成)

 

ということで876PROの日高愛さん、頭が切れてしまってる。茶器がおかしいのを直す+アホ毛をちゃんとするのにinpainting+outpaintingで何段階か調整しました。

 

当初からそのようにタグ付けしてたわけですが、この絵と前の実波のpixivの投稿絵は10/31に正確にAI生成絵と運営によるタグが付きました。

 

この頃、Run Girls, Run!の厚木那奈美さんが餃子のお店のコラボをしたので、阿津木いつか&餃子をテーマに生成もしたり。

(どちらかというと餃子があまり餃子っぽくない問題)

 

餃子と阿津木いつか (AI生成) 餃子と阿津木いつか (AI生成)

2022/11/4 CPUの増強

CPUをRyzen 5 3600からRyzen 7 5700Xに換装。

画像生成関係そのものよりも、Google ChromeのGPUアクセラレーションをオフにした時に、GPUの邪魔をせずに、YouTubeの再生を担当するCPUコアが増えたところに一番増強の効果がある気がする。

AM5/Zen 4が出たのでAM4ベースの少し安くならないかと秋口から狙ってたけど、乱高下した後に納得できる価格になったので。

 

2022/11/15 初期のi2i動画(ワークフローのみ)

きっかけはTwitterで見かけたミリシタの動画からi2iで高槻やよいのアニメでいいな、と思ったところから。

 

 

最初のi2iのビデオ生成の実験を始めるが、この段階では色々不十分だったので成果物はなし。

ただし、素材の整え方やワークフローは大体把握。

(あとでわかったのは、Denoisingを下げるのを知らなかったのであまりi2iが効いてない状態に)

その時のコツなど

  • あらかじめ動画編集ソフトでShotcutで512x512や512x768/768x512など、処理しやすい解像度にしておく
  • 複数の人が入るのは処理が厳しい

元映像から連番png生成:

ffmpeg -i src.mp4 -vf fps=15 out_%05d.png

i2iした連番pngから15fps動画に戻す:

ffmpeg -framerate 15 -i ./out_%05d.png -vcodec libx264 -pix_fmt yuv420p out.mp4

2022/11/24 速度向上(スケジューラ変更)

diffusers 0.8.1にアップデートして、DPMSolverMultistepSchedulerを使用開始。
20ステップで十分綺麗になるため、結果、512x768で7秒/枚程度に速度が向上する。

(その後、11月後半~12月は普通のコミケ原稿のためAI方面は進捗なし)

 

2023/1/1-2/1 Waifu Diffusion 1.4

2023年のお正月にリリースされたWaifu Diffusion 1.4で色々プロンプトの違いを検討。そのあとに、Waifu Diffusion 1.4をベースに追加学習をし直し。

 

この頃課題だったのは、同じ追加学習をしても、WD 1.3よりも、実波の髪形(おさげ)が反映されないケースが多かったこと。結果的に以下をプロンプトに入れて補助すると結構いい感じになることがわかる。

  • short under twintails
  • short under bunches
  • short under twin bunches

※今はそれに"sidelocks"も入れる

2023/2/10-12 バッチスクリプトの強化

実波の調整の気が済んだので、ほかのキャラの追加学習を一括でできるように、Google ColabのPythonスクリプトを調整。

ローカルの生成は、diffusersでプロンプト×キャラ(キャラごとにモデルを切替)できるように。

秋の時点ではコンパイルが必要だったxFormersが効くようになったのと、WSL2環境でもWindowsと同じ生成スクリプトが使えるようにマウント位置を調整したことで、3秒/枚ぐらいまで大幅に速度が向上する。

WebUIが中途半端な状態になっててWaifu Diffusion 1.4が使えなかったのを使えるように直す。

 

同一シード、ポーズ指定なしでこういう感じで出る感じに。

WUG7人+RGR3人+真中のん(大小)の同一seedによるWaifu Diffusion 1.4でのAI生成

 

 

このあたりでモデル調整が一旦落ち着いたのでPixivに現状として一回投稿しています。

 

 

シャツ&スパッツの片山実波 (AI生成) シャツ&スパッツの久海菜々美 (AI生成)

 

なお、この頃走る題材が多いのは、1/22の田中美海さんの誕生日イベントで10年前のランニングの合宿が話題が出たのもあったり…。

 

2023/2/13 複数キャラの統一モデルの試行

片山実波と久海菜々美を一つのモデルにできないかと試してみるが、text inversionのDreambooth学習だと「お互いに釣られる」感じがするのと、でちょっと微妙な感じに。(無理に一つのモデルにする意味がそれほど無い気がする?)

体操服の久海菜々美と片山実波 (AI生成)

 

2023/2/15-18 i2i動画

環境を直してWebUIでWD 1.4モデルが使えるようになったところで、i2iの動画に再度取り掛かってみました。

Denoising strengthを0.4から0.5ぐらいにすると動画に耐えうる一貫性が得られそうな感じがしたので、2020年夏にVRroid Studioで作ってた実波モデル(これは普通にぺたぺた手描き)に3tene FREEの標準モーションを適当にアングルを変えて撮って、それを切り取って動画にしてみるというのをやってみました。

 

左:元の動画(Vroid 3tene FREEの走るモーション)

右:i2i (Waifu Diffusion 1.4 + Dreambooth, Automatic1111 WebUI)
 

    

 

 

何フレームかサンプルでDenoisingをちょっとずつ下げて、指示に画像に従うけど絵はプロンプトに従うバランスを見つけたうえで0.4か0.45ぐらいに設定。とりあえずバッチをかけたら、素のi2iで、上の動画になったのでちょっと驚きました。

 

以前i2iの動画を試行した時は整合性を高める拡張機能(image2image alternative)で試行しましたが、この時は何も特別な処理をしていません。

i2iする段階で、15fpsにフレームレートを落としてアニメっぽくしています(これは単に好み)。

また、この動画は「口閉じてる版」と「口開けてる版」を2回生成しています。6秒目~7秒目の間だけ全フレームを差し替えて、口を開けてるという手動の動画編集しています。

 

プロンプトは

((kminami)), 1girl, solo, walking, ((short under twin bunches)), brown hair, sidelocks, round brown eyes, smiling, shut mouth, green idol dress, one-piece skirt, bike shorts under skirt, sailor collar, yellow ribbon bow tie, on stage, high quality

パラメーターは

SPM++ SDE Karras Sampling 30 CFG 12 Denoising 0.4

 

同じく3tene FREEのモーションより、ダンスモーション。 768x768に解像度アップ。

 

 

 

2023/2/20
i2i動画づくりでななみんのも作ってみる
 
 

こちらはVRM Live PlayerのUNITE IN THE SKY(CRS)の間奏のモーションより。ななみん版で。

 

 

VRoidモデル作っておいてモーションがあればという前提で、10秒~20秒ぐらいのものは、平日の夜に作れる、って感じのワークフローが一応成立。(これは実質所要2時間ぐらい)

 

i2iをする際はバッチ処理がしやすいのとやはりGUIがないと厳しいのでWebUIを使うけど、text to imageはちょっと微妙になりがち(厳密に同条件になっていない気がする)。逆にdiffusersはi2iが微妙になる。

 

2023/3/6 写真との合成絵を作る

3月4日に奥野香耶さんのイベントが品川であったので、それに、プライベートで見に行ってる菊間夏夜と片山実波という図。

奥野香耶のイベントにプライベートで参加する菊間夏夜と片山実波 (写真とAI生成)

 

作ってから、昔、CASIOの「EXILIM」のコラボデジカメ「WUG!コン!」というの思い出しました。(その場に合わせた画像をその場で生成する写真アプリとかそのうち出来そうですね…)

 

 

眼鏡と髪の重なり方が変なので、慌ててかけた感じがします(好意的解釈)。

 

 

ちなみに副産物として眼鏡付きみにゃみが結構できて、これは何かアナザー感か劇中劇感あっていいなと思いました。

眼鏡をした片山実波 二次創作制服 (AI生成) 眼鏡をした片山実波 二次創作制服 (AI生成) 眼鏡をした片山実波 二次創作制服 (AI生成)

公式のブレザー高校生制服ちゃんとあるのに作中あまり出てこないのが勿体ない((

2023/3/9 ControlNet DepthでWUGポーズをしてみる

ControlNetは2月15日ぐらいから急速に界隈で広まってたと思いますが、使っているWaifu Diffusion 1.4ベースのモデルがSD 2.1系であるので、適用できない状態でした。Waifu Diffusion 1.3の旧モデルで色々準備していたところ、3/7頃にControlNet for SD 2.1が公開されてDepthは使えるいうことだったので、さっそく使ってみました。

 

手を突き出してアップにしている、というのが、OpenPoseが無いと難しいらしく、意外と難航。

最初手のCGモデルをそのまま使っていたが、結果的には、CLIP STUDIOでかなり強く陰影をかけた状態にするのが一番きいた。

 

Depth用の手のpng (CLIP STUDIOの手モデルより)

ControlNet用のWUGポーズの画像   WUGポーズをControlNetで適用する時のWebUIのスクリーンショット

Invert input color, Weight 1, diff_control_wd15beta2_depth

 

WUGポーズをする久海菜々美(AI生成) WUGポーズをする片山実波(AI生成)

 

 

2023/3/17 Bing AI (GPT-4?)にMC原稿を作ってもらう

ちょっと画像生成からずれますが、チャットAIについても。2022年12月にChatGPTを使い始めて例にもれず、遊んでたりしたわけですが。2023/2/8にMicrosoftが発表し、3/16に実はGPT-4でしたと明かされたBing AIのプレビュー版にMCを作ってもらいました。(聞くのを思いついたのがBing AI使ってた時だったのと、OpenAIの方のGPT-4はまだ使えないのでということでBing AIです)

 

検索特化AIなので、脚本家になったつもりで、とか書いても拒むことが結構ありますが、あれこれ頼むとやってくれる感じがします。

 

 

(念のためネタバレ防止)

しっかり、BGM止める指示まで入っていて驚きました。

曲振りをしないと無限に実波がのんちゃんをズバズバ追及する茶番が繰り広げられる(田中美海さんがひたすら忙しい)。

(こちらから返しているのは、Bing AIが提示した返事の選択肢から選んでいます。)

 

また思いつきで、月ノ美兎の納豆凸に受けるコラボをしたらどうなるかと尋ねてみたら、「あっというまに実波が食べてしまい、企画倒れになる可能性がある」と指摘されました。そのあたりはお互いもっとうまくできそうと思いましたが、そこそこ情報を元に構成してて凄いですね…。

 

****

現状だとDreamboothベースで割とかなり好みのものができてしまったので、まだ(今主流だと思う)LoRAに取り組んでないのと、ControlNetをフルに使っていないのでそのあたりで遊んでみないとと思っていますのでそのうちまた何かすると思います。

「何か前例のない未定義空間を進行している」感覚がおもしろいです。

さて明日はどっちなんでしょう…(WUG風〆)

 

長いですが結論から言うと根本原因はわかっていないですが、解決方法は見つかりました。

 

サマリー:

・フレッツ光ネクスト(PPPoE)をv6プラス(IPoE)に変更するために、新しい無線LANルータとしてバッファロー WSR-A2533DHP2(WSR-2533DHP2のAmazon限定版)を導入した

・無線LAN接続、かつ、v6プラスであるときに限り、一部のサイト(pixiv)やゲームでのみ途中で読み込むのをやめる不具合が発生する

・有線LANやPPPoEのときは問題なく使える

・今まで使っていた別のルータの無線LANを通して接続すると解決した

・WSR-A2533DHP2自体の無線LANを通してv6プラスを問題なく使う方法は未解決

 

※WSR-A2533DHP2 Version 1.20 (R0.04/B0.06-0)

 

少し前からv6プラスには興味を持っていたものの、グローバルIPが必要な環境でもあったので様子を見ていたが、最近になって(ISPによっては)2つのルーターを使用するとPPPoEと同一セグメントで共存できる場合があるということで、v6プラス対応のルーターを購入して導入をしてみた。それまではIPv6のみIPoE(IPv6接続オプション)で使用していたので、ルーターを接続するだけでほぼJPNEのv6プラスに変更可能だった。

 

図1 LAN環境

 

 

デュアルホーミング構成ではあるものの、基本的にv6プラスの新ルーターを使う設定にして、PPPoEのグローバルIPが必要なものだけ手動でデフォルトゲートウェイをPPPoEを担っている旧ルーターに振り分けるようにした。

(一部のアプリでv6プラスだと不具合が出る可能性があるという噂は前からよく聞いていたのですぐに変更できるようにしておいた)

 

v6プラス自体は非常に快適(今まで下り6Mbpsぐらいの時間帯が70Mbpsぐらいになるなど)であったが、スマートフォンやノートPCから見た際に次のようなトラブルが頻発するようになった。

 

・pixivのサイトの画像部分のみ(アプリもブラウザも)

・ららマジのロード画面(もう書いてる時点でゲーム自体が余命一週間未満ですが)

・ナナシスのロード画面やマッチ画面で稀に(マッチ画面で落ちると痛い)

 

図2  不具合が起きる条件

 

(ほらやっぱりと思って、)WiFiの設定でIPを手動設定にしてデフォルトゲートウェイをPPPoEに変更してみたところ、快適になった。

v6プラスのせいかなと思いつつも、デスクトップPCで絶対に起こらないのと、ノートPCでは有線LANで接続する際には発生しないことがわかったのでもう少し調べてみることにした。

 

図3 問題が起きない条件1 PPPoEを通す

 

今回の件でややこしかったのは、「最初の数分程度」はどの場合でも解決したかのような挙動を見せるのでぬか喜びが多い点。

まるで何かの検閲でも入っているような動き(確実に再現性があるのがpixivの画像閲覧時なので、あ、はい、という感じで)

 

やってみて効果が無かったものとして…

- ブラウザの種類を変える (Edge, Chrome, Firefoxですべて同じ)

- ドライバのバージョンの変更 (HP Elite x2 1012 G1等に搭載されているIntel Dual Band Wireless-AC 8260は過去に何度かドライバとWindowsの関係で不具合があったことがあるので最初に疑った)

- ドライバのパラメータ設定の変更 (WoWLAN、ARPオフロード等)

- 2.4GHz(802.11g/b/n)や5GHz(802.11a/n/ac)のどちらかに限定

- IPv6をオフ(全てv4の話で元々関係ないのと旧環境でもDNSはIPoEなので混在ではあった)

 

ネットを検索してても、ナナシスがなぜかv6プラスで遅いとか、どういうわけかゲーム機のマルチプレイ設定が通らないなどの話を稀に見かけるほどなので、完全に駄目であるという可能性は低い。

 

PixivはCDNに対してJavascriptで非同期読込をしているようで、Chromeのデベロッパーツールで見ると、最初の少しは読み込んだ後にnet::ERR_CONNECTION_RESETが多数コンソールに表示されるようになる。NATでポートが足りなくなったときの現象に少し似ているなと思ったが、とにかく有線LANで繋いでいる時や無線LANでもPPPoEルータを通している場合には発生しない。

適当にWiresharkを眺め始めてみたところ、有線の時に比べるとなんとなくパケット分割に関する再送やTCP Dup Ackが多い気がする、ということに気づいた。(何となくWiresharkで黒い帯が多めに見える程度の話w)

 

そこでもしかしてMTUの計算がどこかでおかしくなっているのでは、と思いつき調べてみたところv6プラスでは以下の通りIPv4部分のMTUが1460になるらしい。

 

IPv6ヘッダ 40 byte
--
IPv4ヘッダ 20 byte
ICMPヘッダ 8 byte 
ICMP Data 1432 byte

 

ping -4 -f -l 1432 外部サーバ

ping -4 -f -l 1433 外部サーバ

でフラグメント有無の違いがあったのでMSSは確かに1432、MTUは1460。

 

管理コマンドプロンプトを起動し…

netsh interface ipv4 show interface で無線LANのインタフェース番号(Idx)を調べて既定値の1500になっているのを変更。

netsh interface ipv4 set interface (Idx番号) mtu=1460

 

この設定にしてv6プラス経由でpixivを見たところ、ちょっと引っかかりはする感じがするもの、少なくても画像が表示されなくなるということは全く無くなった。

でもそれだったらPPPoEの方は1454だからもっと調子悪くてもおかしくないし、有線LANだとMTU1500のままv6プラス通して問題ないのになぜだろうという感じに。

 

図4 問題が起きない条件2 MTUを手動で1460に設定する

図5 問題が起きない条件3 有線LANで接続

 

 

MTUの変更はパソコンでは容易であるものの、スマートフォンではRoot化しないとWiFiに関してはできないということなのでちょっと厄介だなと思って再度MTUまわりで検索していたら、WSR-2533DHP2とXBox360の組み合わせで、どういうわけかMTU検出に失敗する事例がkakaku.comの掲示板にあった。

https://bbs.kakaku.com/bbs/K0001074909/SortID=22337430/

その方によると別の無線LANアダプタを中継させたら通ったとのこと。(旧ルータが同じWHR-1166DHP2なので偶然の一致)

 

そんなことあるのか、と思って、旧ルータのWHR-1166DHP2の無線LANを別SSIDで復活させて繋いでみたところ、あら不思議、v6プラスを通しても全く問題なくpixivが見られるように。ノートPCでもスマートフォンでもデスクトップPCの方で見ているのと同じサクサクに。

 

図6 暫定的な解決策 別の無線LANアダプタを通して使う

 

ということで新ルータの無線LANは諦めて、無線LANは旧ルータのを使うように設定を変更して、暫定的に解決。

純粋に同一セグメントに対してのメディアコンバーターとして使うので、DHCPサーバーはそのまま新ルータの方を使う。

VDSLアダプタが100Mbpsなので、LAN側でルータ同士でGbEで回される分には速度的にも特に問題なしということで。

 

WSR-2533DHP2が無線LANを通してv6プラスを使う場合で、特定のサイト(CDN)に特定のアクセス方法をする場合に限り、何らかの理由でパケットが分割されるか落とされて、しかもそれが上位のどのレイヤーでも検知できずに、再送がかからないか再送されてきたのを無視する…ってことなのかなと。

 

※LANの環境変更が大きいので検証していないのは、WSR-2533DHP2がPPPoEのときにどうなるのか、というのと、WSR-2533DHP2の無線LANから一度別のルーターまたはLAN内のProxyを通して再度WSR-2533DHP2の有線LANでv6プラスを通した場合にどうなるか。

 

 

初めてRyzen 5とM.2 NVMe (PCIe 3.0x4)搭載のPCの自作を試みましたが、思った以上に手順が多かったのでメモ。

M.2 NVMeを差し込んだらUEFIの起動デバイスリストにスッと表れるぐらい簡単なものかと思っていましたが、だいぶ甘かったようです。

 

これとは無関係にATX電源スイッチが故障(接点が経年劣化してて押しっぱなしになっている)でPOSTしてから電源が落ちるという現象に悩まされ、壊したかと思ったので動いた時には一安心しました。結局これが、前のA10-6800Kのマザーボードを故障させたと勘違いして、春ぐらいと思っていた予定を早めて新PCを構築したわけですが、それはさておき。

 

構成:

ASUS PRIME X570-P/CSM
CPU: Ryzen 5 3600

RAM: DDR4-3200 8GB x 2

GPU: GeForce 1660 SUPER

M.2 SSD: Western Digital WDS100T2B0C (SN550) 1TB SSD NVMe PCIe 3.0x4

SATA: BD-Rドライブ

 

症状:
NVMeを接続した状態で電源をオンにすると、「ピッ」と正常のビープ音がした後に、ASUSロゴで止まって進まない。
(フルスクリーンロゴをオフにすると黒い画面のまま)

 

以前別のASUSマザーボード(Socket AM3のM3A78-PRO)で同様に止まったケースでは、USBキーボードがだめで、PS/2キーボードに繋げないと通してくれないことがあったのでそれかと思いましたが特にキーボードやマウスを変更しても状況は変わらず。

グラボ以外何もつながない状態で起動しても同様。


 

とにかく、お気に召さない項目があるとASUSロゴで止まるので、電源を切り、一度NVMeを外して、電源を入れ、BIOS項目を変更してから、再度電源を切って、NVMeを接続し、電源オンをする必要あり。
BIOSの設定変更は一旦、NVMeを外した状態で行う。

RAIDを通すべしという事例を見つけたので、それをヒントに、以下は、AMDのX570チップセットの公式ドライバの説明書 AMD NVMe SATA RAID Quick Start Guide for Windows Operating Systems_1.03.pdf に基づく手順+少しアレンジして、進めました。AMDの公式ページにあるドライバを使いましたが、マザーボード付属のDVD-ROMでも同じ内容で入っているので、OKではないかと思います。


付属のDVD-ROMにあるドライバー、またはAMDのサイトからドライバー2種類をダウンロードする。

一つはWindowsインストール時に組み込むドライバ3種、もう一つはWindowsをインストールしてからインストールする管理ユーティリティ。
https://www.amd.com/ja/support/chipsets/amd-socket-am4/x570
https://www.asus.com/jp/Motherboards/PRIME-X570-P-CSM/HelpDesk_Download/

BIOSからNVMeはRAIDにしておかないと、POSTがASUSロゴで進まなくなる(外した状態で設定変更をしてからつなげる)。

CSM Support → Enabled
Boot option filter → UEFI only
他の選択肢をCSMはUEFIのみに変更する(LegacyやIgnoreがあると止まる)

NVMe RAID Mode → Enabled
  これが一番重要っぽい。(これがオフだと確実に固まる)


上記、Setup Modeの変更は関係ありません。

 

マニュアルではSATA ModeもAHCIからRAIDにすると書いてありますが、SATAに対してRAIDを使わないのであれば、AHCIのままでも問題ないようです。(RAIDだとSATA接続のDVD-ROMからWindowsのセットアップをブートできませんでした)「Press any key to boot from CD or DVD...」は出てブートしかけるがDVD-ROMがスピンアップしない状態で止まる)→ この場合は別途外付けのUSB接続のDVDドライブでも使うか、USBメモリからブートするように準備をすればよいのかもしれません。

ここまで設定して一度電源を切ってNVMeを接続し、ちゃんとPOSTするか確認します。
「AMD-RAID」でM.2と出てきます。

BIOS設定に入り、Advancedの一番下に現れるRAIDXpert2の設定を開き、シングルドライブ(実質1台のJBODという扱い)で一通り初期化。
※NVMe(SN550)の中身は消える前提。また、関係ないディスクを物理的に接続していない状態で操作するのが安全です。ヨシ。
物理ディスクを初期化 → 物理ディスク有効化 → アレイ作成画面 → ディスク選択 → アレイ作成実施

Initialize Disk
Create Array
Select Physical Disks → クリックして選択 → Apply Changes
(Cache Tag Size, Read Cache Policy, Write Cache Policy)

BIOS設定後に再起動し、Windows 10 ProのDVD-ROMから起動します。

(別のPCで)マザーボードに付属のDVD-ROM、または上記のAMDのドライバーのリンクから、RAIDドライバーを用意する。USBメモリに入れておくと、Windowsのディスクを戻さなくてもいいのでスムーズ。
 

USBドライブに以下のように配置。(今回使うのはWTx64\RAID_NVMeの下の3フォルダ)


セットアップ先を選択すると、この時点でSN550は既に見えている状態になっているが、初期化しても下に「!」の印とともに、ブートできない旨の説明文が出ている。

ここで「ドライバーの読込」で、用意したUSBメモリ・DVDから3つのドライバを順番通りに、ロードする。

(一つロードするたびに同じ画面に戻るので、繰り返す。)
AMD-RAID Bottom Device (rcbottom.inf)
AMD-RAID Controller (rcraid.inf)
AMD-RAID Config Device (rccfg.inf)



※2つ目のControllerをロードした時点で下の「!」が消えた。

Bottomが一番下なので先ってことでしょうかね…。(敷金、礼金…みたいな)

「次へ」を押して、Windowsのインストールが始まればOKです。
Windowsのセットアップが終了後に、AMD RAIDXpert2 Management Suite for Windowsをインストールする。

 

昔でいうところのBoot ROMが無いSCSIデバイスとか初期のSATAみたいな感じでしょうか。UEFIの設定は細かいですけど迷子になりますね。やってることは昔の青い画面でPress F6 if you need to install a third party SCSI or RAID driverと同じなので、カラクリが分かれば何てことはないですが、BIOS画面でフリーズするのは何か壊した感じがあってドキドキします。

 

 

特にどうということもない搭乗記録でも付けていこうかな、と思い立ったので直近のものから徐々に昔のものを掘り出していこうかという次第。

 

Jetstar GK501 東京(成田) → 福岡
2017年 8月20日 (日) 06:00 → 8:00 福岡
8270円 (5月下旬予約)

 

始発電車等では間に合わない、朝一の便のため、成田空港内で過ごすプラン。終電に近い時間に東京駅に到着。八重洲北口の京成バス乗り場から午前1時半発の「東京シャトル」です。

 

 

 

さすが夏休みの週末ということもあり、満席。予約なしの待機列の方は積み残しがありました。(20分後の次の便は乗れたと思いますが)

第3ターミナルの目の前に着くのが嬉しいですね。でもこの時ばかりはもっと成田空港遠くていいのよ、って思ってしまいます(もっとバスで寝てたい)。

 

2:25 第3ターミナル到着

入ってすぐに北ウェイティングエリアの説明。

 

One In A Billion♪

 

前回も割とフードコートのテーブル席で寝られたので、まあいいかとそちらへ(こんでそうだったので)。ところが今回は、変な時間に映画館でコーヒー飲んでしまっていたせいか、全然寝られず!

 

そこらじゅうゾンビ映画かなにかみたいにテーブルや椅子に倒れ込んでて、学期末の大学の学食や図書館とか想起する深夜の第3ターミナルの雰囲気、割と好きです。

 

4:15 チェックインカウンターオープン
4:33 保安検査場オープン
 

最初1列で、5時近くなると列が3つになるので狙い目ですね(2列状態)

 

ゲート近くに魅力的なフルフラットな椅子が出現しますが、このタイミングで寝落ちすると熟睡の危険性がw

 

機体はJA15JJのようです。

 

座席指定しなかったので、割り振られたのが前の方だったので、ドアクローズのシーンとかよく見えました。

 

安全デモンストレーションを見た後の誘導路移動中に眠り、気づいたらまもなく福岡空港。

 

 

久々に見た気がする晴天!15分ぐらい早着でした。

昨年は廃止直前の旧第1ターミナルにボーディングブリッジで直結でしたが、今年はタラップで国内線ターミナルへバス移動。

 

旧第1ターミナル跡地に建設中の新しい建物の模型がありました。もう既に十分すぎるほど地下鉄も空港機能も集約できてる気がしますけど、さすがに現状は手狭でしょうね…

 

復路は別記事予定。

Windows 10 Anniversary Updateがリリースされてから1ヶ月ほど経ちましたが、一つ懸案となってた不具合の対処法がわかりました。

 

対象

Windows 10 バージョン 1607 (14393.105) (通称Anniversary Update)

Excel 2007と2010 (2016/9/9までの全ての更新を適用)

 

症状

  • ブック表示を改ページプレビューにすると、印刷範囲変更やブック複製を行うと、表示が乱れる
  • 上書き保存すると表示が乱れる (.xlsの時のみ?)

 

症状の例

改ページプレビューの状態にして、印刷範囲を広げる操作をします。

 

画面が乱れます。(4行目が20行目にも重複して表示される)

 

一度画面をスクロールして戻ってくると、以下の通り、本来操作した通りの表示になります。

 

錯覚……?


Windows 10の新機能である「Windows で通常使うプリンターを管理する」をオフにしてみたところ、発生しなくなりました。

「設定」→「デバイス」→「プリンターとスキャナー」→「Windows で通常使うプリンターを管理する」をオフ。

 

ハードウェアアクセラレーションを無効にする、グラフィックスドライバーの更新、互換性設定を変更するなどは特に効果ありませんでした。

 

Excel 2007でも同様になる模様。

なお、Excel 2013では発生しませんでした。

 

Anniversary Updateは他に、Windows Server Update Services 3.0 (WSUS/Windows Server 2008 R2)を設定している環境でクライアントPC側がアップデートをダウンロードするタイミングでBITSか何かがクラッシュして、Computer BrowserやServerサービスなどを全て道連れにする妙な問題が発生しています。(グループポリシーを解除して、通常のWindows Updateにすると直る)

それと連動しているのか、DHCPクライアントがIPを取り損ねる(IPv4)など、特定の環境下で起こる変な不具合もあるようです。こちらは一度ipconfig /renewをすれば通常通り動作します。