RPi - LBP221 設定

2023/12/19 12:23 OS別::Linuxその他::デバイス
Raspberry Pi OS で、ネットワークプリンタ LBP221 の設定を行います。

環境

対象機器

今回使用した機器は、次の通りです。
種類機器備考
設定対象サーバRaspberry Pi 3 Model BRaspbian GNU/Linux 11 (bullseye)
プリンタCanon LBP221モノクロレーザープリンタ

DNS 設定

次の名前解決設定を行っています。
項目設定備考
正引き192.168.1.20 lbp221.example.jpドメインは省略して利用
以下の手順でドメイン部分は、Linux 環境において /etc/resolv.conf で補完する domain 設定を行っており、省略しています。
また、Windows 環境でも hosts に記述しているため、筆者の環境ではどの端末でも上記名称のまま接続できるようになっています。
$ ping -4c1 lbp221
PING lbp221.example.jp (192.168.1.20) 56(84) bytes of data.
64 bytes from 192.168.1.20 (192.168.1.20): icmp_seq=1 ttl=64 time=0.349 ms

--- lbp221.example.jp ping statistics ---
1 packets transmitted, 1 received, 0% packet loss, time 0ms
rtt min/avg/max/mdev = 0.349/0.349/0.349/0.000 ms

ドライバ

Canon 公式サイトで LBP221 のプリンタドライバが提供されていますが、Raspberry Pi の CPU には対応していません。
上記サイトを見る限り、動作確認済み OS に、Debian 11.5(Intel/AMD 32bit/64bit、ARM 64bit)が存在します。
Raspberry Pi OS は ARM になるのでプリントできそうに思えますが、標準で提供されるインストーラーではエラー終了します。

ここでは CUPS 開発者が推奨していることもあり、ドライバーレス印刷を行います。

なお、プリンタが次のいずれかの標準に対応していれば、ドライバーレス印刷が可能になります。
AirPrint™
IPP Everywhere™
Mopria®
Wi-Fi Direct Print Services

プリンタ設定

IP アドレス設定

LBP221 はネットワークに対応しているので IPv4 アドレスを設定します。
詳細については、付属のマニュアルを参照してください。

ビジネス用途のプリンタだけあって、パスワード設定なども行います。

Wi-Fi にも対応していますが、設定時に接続できなかった*1ため LAN ケーブルを使っています。

Web UI 確認

プリンタの Web UI にアクセスしてみます。
http://lbp221.example.jp/
表示されれば、プリンタが正常にネットワーク接続されていることが確認できます。
なお、管理者モードでログインするには、任意で設定したパスワードが必要です。

*1 : いろいろ原因を探ったところ、タイミング悪く Wi-Fi 機器が故障していました。

Raspberry Pi OS 設定

パッケージインストール

Raspberry Pi OS に、印刷に必要なパッケージをインストールします。
$ sudo apt install cups system-config-printer

プリンタ接続確認

ipptool で確認したところ [PASS] が表示されているので LBP221 は ipp に対応しています。
$ ipptool -tv ipp://lbp221:631/ipp/print get-printer-attributes.test | grep get-printer-attributes
"/usr/share/cups/ipptool/get-printer-attributes.test":
    Get printer attributes using get-printer-attributes                  [PASS]
なお、LBP221 はモノクロレーザープリンタなので確認しませんでしたが、カラープリンタの場合は "image/jpeg" が含まれていることも確認します。

CUPS 設定

ドライバーレス印刷に対応しているので、lpadmin コマンドを使用して CUPS に登録します。
$ lpadmin -p LBP221 -E -v ipp://lbp221/ipp/print -m everywhere
$ lpstat -p
プリンター LBP221 は待機中です。2023年12月18日 11時08分09秒 以来有効です
オプション -p に指定するプリンタ名は、以後の印刷操作で使用するものなので、IP アドレスと紐づかなくても問題ありません。
また、-v オプションに使用するドメイン名も、IP アドレスで問題ありません。
環境に合わせて、適切に読み替えてください。

テスト印刷

CUPS に用意されているテストページを印刷してみます。
$ lp -d LBP221 /usr/share/cups/data/default-testpage.pdf
Raspberry Pi OS の場合、debian で用意されたテストページが印刷されます。

その他

更新履歴

  • 2023.12.19 使用していた jimba.jp ドメインを、例示用のドメインとして example.jp へ変更。

キーボードの誤認識対応


状況

OS は Windows11 で、時折スマホから RDP して利用しています。
その後、該当端末のコンソールでログインしても、キーボードは通常通り入力可能でした。
ただ、その時は Windows Update が走った直後らしく、RDP したあとのコンソール利用で入力が英語キーボードとして動いていました。

スマホからの RDP で、この時、スマホ接続のキーボード等は利用していません。
なので RDP のソフトウェアキーボードに疑義が持たれます。

ポイントとしては、OS アップデート直後に RDP したことによるキーボードレイアウトの誤動作になります。

対策

対処策

調べてみましたが、Windows11 での対処が情報として少ないですね。
今回は、最終的にハードウェアキーボードレイアウトの変更で対処できました。

予防策

Microsoft に文句言うくらいしか思いつきません。

対処

ということで、今回行った対処について。
設定反映には再起動が必須なので、何か作業中なら全部保存して閉じておく必要があります。

流れとしては、次の通りです。
  1. ハードウェアキーボードレイアウトの変更
  2. 再起動
  3. ハードウェアキーボードレイアウトの変更
  4. 再起動
なんで同じことを繰り返してるのかって?
同じことを繰り返さないと直らかなかったからです。

ハードウェアキーボードレイアウトの変更(1回目)

システムへのアクセス
Win + i で、システムへアクセスします。
次のような、システム画面が出てきますので、「時刻と言語」をクリックします。
システム
システム 画面
「キーボードレイアウトの変更」へのアクセス
次のような画面で、「言語と地域」をクリックします。

時刻と言語
時刻と言語 画面

次のような画面で、言語の「日本語」から … メニューをクリックして「… 言語のオプション」をクリックします。

時刻と言語>言語と地域
時刻と言語>言語と地域 画面
次のような画面で、キーボードレイアウト:日本語キーボード(106/109 キー) の「レイアウトを変更する」 をクリックします。

時刻と言語>言語と地域>オプション
時刻と言語>言語と地域>オプション 画面
「ハードウェアキーボードレイアウトの変更」での設定
次の画面で、キーボードレイアウト:日本語キーボード(106/109 キー) をクリックします。

なお、日本語キーボードとして登録されているのに OS は英語キーボードとして動いているので、この設定項目名ではなく、設定内容がおかしくなっていると推測されます。
一度別のものに変更して、正しいものに設定し直す作戦です。
ハードウェア キーボード レイアウトの変更(日本語)
ハードウェア キーボード レイアウトの変更(日本語) 画面

私の場合は「接続済みキーボード レイアウトを使用する」を選択しましたが、目的を考えれば英語キーボードでも問題ないと思います。

ハードウェア キーボード レイアウトの変更(選択画面)
ハードウェア キーボード レイアウトの変更(選択画面) 画面

次の画面で、「今すぐ再起動する」をクリックすると、再起動されます。

ハードウェア キーボード レイアウトの変更(変更後)
ハードウェア キーボード レイアウトの変更(変更後) 画面

ハードウェアキーボードレイアウトの変更(2回目)

同じことをもう一度行います。

違うことは、もとの「日本語キーボード(106/109 キー) 」を選択するところだけです。
また再起動します。

確認

私の場合は、これで元に戻りました。