見出し画像

YAMAHA UX16が使用できなくなっていたので無理やり使えるようにした(古いドライバのデバイスに自己署名する)

追記:
以下のページから、V3.1.5のドライバがダウンロードでき、普通に使用できるようです。

https://jp.yamaha.com/support/updates/usb-midi-driver-win.html

コメントで教えていただいた真城亜さん、ありがとうございました!

追記:claudeがドキュメントを書いてくれたので、docx形式のまとまったドキュメントがよければこちらをご覧ください。
※文書内の手順は確認・検証していません


こんにちは。

今回は、Windows 11 Insider Preview(のせいかわかりませんが)にて、YAMAHA UX16という古いUSB-Midiインタフェースが使用できなくなっていたので、それを無理やり使えるようにした手順を振り返ります。
試行錯誤の結果なので、同じ手順で再現できるかはわかりませんが、よかったら参考にしてください。

デバイスはこちら↓

画像

https://jp.yamaha.com/products/musical_instruments/pianos/accessories/interfaces/ux16/index.html

PCとMidiキーボードを接続するケーブルです。
YAMAHAの電子ピアノを接続して、ソフトウェア音源でいい音がなるように使用していました。ここ数年は使用していなくて、久しぶりに掘り起こしました。
これが、古いPC(おそらく少し古いWindows11)では普通に動作したのに、Insider Previewを入れた新しいPCではドライバがブロックされて読み込めず動かなかったので、これをなんとか動くようにしたものです。

<警告>
以降の手順はWindowsのセキュリティを低下させます。
全て自己責任でお願いします。
不安な場合は行わないでください。

後でAIが書いた手順書をまとめるかもしれませんが、とりあえずドラフト版として手順を簡単にまとめます。

まず以下の状態にしてください。
・セキュアブートOFF:BIOS(UEFI)画面で設定します
・メモリ整合性OFF:設定→プライバシーとセキュリティ→Windowsセキュリティ→デバイスセキュリティ→コア分離の詳細→メモリ整合性(オフ)

画像

以降は管理者のpowershellで行ってください。

1.(不要かもしれない手順)カーネルドライバの署名検証スキップの設定

bcdedit /set nointegritychecks on

正常にコマンドが終了したら、一度再起動します。

2.signtool.exeを入手

自分の環境ではすでに入っていましたが、ダウンロードはこちらかもしれません。

インストーラで"Windows SDK Signing Tools for Desktop Apps"にチェックするといいと書かれていますが試していません。

3.証明書作成

$cert = New-SelfSignedCertificate `
    -Type CodeSigningCert `
    -Subject "CN=UX16DriverCert" `
    -CertStoreLocation "Cert:\LocalMachine\My" `
    -KeyUsage DigitalSignature `
    -KeyLength 2048 `
    -HashAlgorithm SHA256 `
    -NotAfter (Get-Date).AddYears(10) `
    -TextExtension @("2.5.29.37={text}1.3.6.1.5.5.7.3.3,1.3.6.1.4.1.311.61.1.1")

$cert.Thumbprint

Thumbprint が表示されれば成功です。
CNは名前なので、デバイス名に合わせて変更してもいいかもしれません。
その場合は以下でも整合性を取る必要があります。

4.信頼ストアに登録

$certFile = "C:\UX16DriverCert.cer"
Export-Certificate -Cert $cert -FilePath $certFile
Import-Certificate -FilePath $certFile -CertStoreLocation "Cert:\LocalMachine\Root"
Import-Certificate -FilePath $certFile -CertStoreLocation "Cert:\LocalMachine\TrustedPublisher"

5..sysファイルに署名

$signtool = "C:\Program Files (x86)\Windows Kits\10\bin\10.0.26100.0\x64\signtool.exe"
& $signtool sign /v /fd SHA256 /sha1 $cert.Thumbprint /as "C:\Windows\System32\drivers\ymidusbx64.sys"

※signtoolのパスは異なる可能性があるので、ご自身の環境に合わせてください。デバイスが違う場合はドライバファイル名も違うので合わせてください。

6.再起動して動作確認

以上です。

もし1.が不要であれば、そこまでセキュリティが落ちることはありませんが、1.が必要であった場合には、怪しいドライバを入れないように注意してください。

詰まったらコメントなど頂ければ、何か対応できるかもしれません。

以上です。

いいなと思ったら応援しよう!

コメント

2
コメントするには、 ログイン または 会員登録 をお願いします。
mashiroa 真城亜のプロフィールへのリンク

yamaha UX16のドライバーインストールは以下の手順で行ってもできるようです。実際に確認してみました。何度か再起動してみましたが今のところ大丈夫そうです。 Shiftを押しながら再起動をクリック。おまちくださいのあと、青い画面が表示されたら、オプションの選択で「トラブルシューティング」を…

ぺぺいっさのプロフィールへのリンク
ぺぺいっさ

コメントありがとうございます。 無駄な作業だった・・・。 今試したらV3.1.5はインストールできたのでこれでいいですね。 外部からドライバ検索した場合にV3.1.4までしか見えず、V3.1.5がないように見えることについては、YAMAHAに報告しておきました。

1
YAMAHA UX16が使用できなくなっていたので無理やり使えるようにした(古いドライバのデバイスに自己署名する)|ぺぺいっさ
word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word

mmMwWLliI0fiflO&1
mmMwWLliI0fiflO&1
mmMwWLliI0fiflO&1
mmMwWLliI0fiflO&1
mmMwWLliI0fiflO&1
mmMwWLliI0fiflO&1
mmMwWLliI0fiflO&1