OpenWrtでウェブカメラを使用する
前回、OpenWrt25でウェブカメラの接続がうまく行かなかった。
OpenWrt25では/dev/video0が作成されない症状がある。
kmod-video-uvc をインストールすると認識することになっている。
原因を探るために再挑戦。今回も失敗記事。
OpenWrt19 /WZR-HP-G300NH A0A3
WZR-HP-G300NH A0A3 正常に認識する。
opkg update
opkg install kmod-video-uvc kmod-video-core usbutils mjpg-streamer
opkg install mjpg-streamer-input-uvc mjpg-streamer-output-http
コマンドラインから実行
mjpg_streamer -i "input_uvc.so -f 15" -o "output_http.so -w /www -p 8080"
ブラウザから
http://192.168.1.1:8080/?action=stream
で表示される。
OpenWrt24 /WZR-HP-G300NH A0A3
WZR-HP-G300NH A0A3 OpenWrt19と同じ方法で動作した。
OpenWrt25/WZR-HP-G300NH A0A3
WZR-HP-G300NH A0A3 パッケージマネージャーの変更、mjpg-streamerが廃止された。
その代わりのustreamer 結構評判が良いですね。https://firtel.blogspot.com/2024/02/bookworm-ustreamer-mjpeg.html
apk update
apk add usbutils kmod-video-core kmod-video-uvc ustreamer
インストールしただけで、 ustreamer は起動されているようだ。そしてブラウザから表示出来た。
http://192.168.1.1:8080/?action=stream
おかしい、OpenWrt25で普通に動いた。
/dev/video0も出来ていた。OpenWrt24からバージョンアップしたので、設定が残っていたのか。Wi-Fiの設定が面倒だったから、keep settingを有効にしたままアップグレードした。
OpenWrt25/ WZR-HP-G300NH A0A0
設定を消した新規インストール。/dev/video0 が作られていない。
動作不可
DCアダプタを2Aタイプにしたが、状況は変わらない。ただ、DCアダプタも古いと規定の電流が出ない事もある。
USBにUSBメモリを繋げてみる。
root@OpenWrt:~# apk add blkid
(1/3) Installing libuuid1 (2.41.5-r1)
Executing libuuid1-2.41.5-r1.post-install
(2/3) Installing libblkid1 (2.41.5-r1)
Executing libblkid1-2.41.5-r1.post-install
(3/3) Installing blkid (2.41.5-r1)
Executing blkid-2.41.5-r1.post-install
OK: 15.0 MiB in 182 packages
root@OpenWrt:~# apk add kmod-usb-storage
(1/2) Installing kmod-scsi-core (6.12.94-r1)
Executing kmod-scsi-core-6.12.94-r1.post-install
(2/2) Installing kmod-usb-storage (6.12.94-r1)
Executing kmod-usb-storage-6.12.94-r1.post-install
OK: 15.5 MiB in 190 packages
root@OpenWrt:~# apk add block-mount kmod-fs-vfat kmod-fs-exfat
(1/6) Installing block-mount (2026.05.23~16718b6e-r1)
Executing block-mount-2026.05.23~16718b6e-r1.post-install
(2/6) Installing kmod-fs-exfat (6.12.94-r1)
Executing kmod-fs-exfat-6.12.94-r1.post-install
(3/6) Installing kmod-nls-cp437 (6.12.94-r1)
Executing kmod-nls-cp437-6.12.94-r1.post-install
(4/6) Installing kmod-nls-iso8859-1 (6.12.94-r1)
Executing kmod-nls-iso8859-1-6.12.94-r1.post-install
(5/6) Installing kmod-nls-utf8 (6.12.94-r1)
Executing kmod-nls-utf8-6.12.94-r1.post-install
(6/6) Installing kmod-fs-vfat (6.12.94-r1)
Executing kmod-fs-vfat-6.12.94-r1.post-install
OK: 15.2 MiB in 188 packages
root@OpenWrt:~# ls /dev/sd*
/dev/sda /dev/sda1
USBメモリは認識した。USBポートの不具合では無さそうだ。
OpenWrt25/WZR-HP-G300NH A0A3
検証機を A0A3 に戻し、初期化してみる。
コマンドから初期化をする。firstboot
apk update
apk add usbutils kmod-video-core kmod-video-uvc ustreamer
で動作しない。/dev/video0が作成されない。
疑う点
1.初期化してから、パッケージのインストールではどうか
2.今回の機種は、WZR-HP-G300NH A0A3は、電流が1.5A。A0A0は電流が2A。A0A0に1.5AのDCアダプタを使ったため、USBへの電流不足だった可能性
今後役に立つかもしれないので、メモ
WZR-HP-G300NH A0A3 1.5A 極性統一プラグ#4
WZR-HP-G300NH A0A0 2A 極性統一プラグ#4
WZR-HP-AG300H C0A1 2A 55×21プラグ
汎用の 55×21プラグは調達しやすいが、今ではオワコンの 極性統一プラグ はなかなか無い。今はいちいち購入せず、 55×21→極性統一プラグ 変換を買うが、アリエクでは入手性が良くない。アマゾンにはあるが高め。
まとめ
今回も確実な記事にならなかった。
電源アダプタの問題ではないようだ。USBへの電流不足も可能性はほぼ無し。
OpenWrt24でmjpg-streamer で正常稼働している状態から、OpenWrt25へアップグレード。 ustreamer で設定した時は、正常稼働する。
OpenWrt25で初期化してから設定を進めるが、/dev/video0が作成されない。 ustreamer の問題ではなく、カメラドライバーに相当する kmod-video-uvc がうまく設定されていないのかもしれない。
OpenWrt24では動作したが、これもOpenWrt19からのアップグレードである。