Windows の Chrome でパソリをWebUSBで扱う

うちにある初代PaSoRiことSC-S310だが、物が古すぎるのもあって公式ではWindows10をサポートしているドライバはなかったりする。(とはいえそれをインストールして使用することはできる。)

一方で、ChromeのWebUSB APIはWindowsにおいてはWinUSBを利用しているためか、Felicaのドライバを使用している状態ではどうも使用できなかった。また、そもそもデバイスにドライバが割り当てられていない状態(下図)でもやっぱり接続できない。

接続できなかった場合だが、navigator.usb.requestDeviceが無言のDOMExceptionを投げるだけなのでやっぱり質が悪い。 chrome://device-log/ を見てみると、Failed to open device: Access denied (insufficient permissions)のようなエラーが記録されているのが確認できるがわけがわからないよ。

で、パソリのドライバがインストールされていない状態であれば、WinUSBのドライバを自分で指定してやることでこの問題は解決できる。

WinUSB (Winusb.sys) のインストール – Windows drivers | Microsoft Docs

すでにPaSoRiのドライバがインストールされている環境ではこの手順ではWinUSBへ切り替えできないのでZadigとかでやればいいらしい。Windowsなんもわからん。

とりあえずこれでwebpasoriのサンプルが動くことが確認できた。

Linux/Macはあっさり動いたのになぁ…まあlibusbな制約か仕方ない…

投稿者: hina

たぶんひなろえ

コメントを残す