群暉安裝打印服務器,驅動HP P1106札記(ji)(二)—— CUPS配(pei)置
前面介紹了(le)一(yi)大段群暉的配(pei)置,其中涉及(ji)到大量命(ming)令操作,對于(yu)有linux基(ji)礎的同(tong)學,估計(ji)很簡(jian)單,反之對于(yu)沒基(ji)礎的同(tong)學,雖然(ran)有點(dian)難,不(bu)過按圖(tu)索驥(ji)也沒啥大問題。
群暉DSM本(ben)質上(shang)是(shi)(shi)一個定(ding)制(zhi)版(ban)Linux系(xi)統(tong),有很多操作跟是(shi)(shi)linux 系(xi)統(tong)是(shi)(shi)通用的(de)(de)(de),而(er)Linux又(you)是(shi)(shi)借鑒了Unix系(xi)統(tong),包(bao)括后(hou)面手(shou)機端(duan)的(de)(de)(de)安卓、蘋果端(duan)的(de)(de)(de)MAC也有類(lei)似(si)之處,基礎的(de)(de)(de)架構、常見命(ming)令(ling)都是(shi)(shi)通用的(de)(de)(de)。
下面(mian)(mian)介紹CUPS的(de)配置(zhi),主要包括兩個方面(mian)(mian):
一、打印機驅動
linux打(da)印(yin)機驅動,客觀來(lai)說有點復雜,最簡單的辦法,下(xia)載已經集成驅動的容器鏡像文(wen)件,譬(pi)如前面olbat/cupsd。
在olbat/cupsd的(de)介紹中明(ming)確提到,包含以下內容(rong):()
Included package
- cups, cups-client, cups-filters
- foomatic-db
- printer-driver-all, printer-driver-cups-pdf
- openprinting-ppds
- hpijs-ppds, hp-ppd
- sudo, whois
- smbclient
經(jing)過(guo)測(ce)試olbat/cupsd已(yi)包(bao)含(han) HP1106 Pro的(de)驅(qu)動。
連接(jie)HP1106打印機到群暉的USB口,通電,在容器里已正(zheng)確識(shi)別型號,具體如下(xia):
# 這(zhe)里03f0: 指HP家USB設備的(de)廠商識別(bie)碼
# 可以(yi)看(kan)到HP P1106的芯片(pian)其實(shi) P1102,但是固件是P1106。
root@Nas220:~# lsusb -v -d 03f0: Bus 001 Device 007: ID 03f0:002a HP, Inc LaserJet P1102 Device Descriptor: bLength 18 bDescriptorType 1 bcdUSB 2.00 bDeviceClass 0 bDeviceSubClass 0 bDeviceProtocol 0 bMaxPacketSize0 64 idVendor 0x03f0 HP, Inc idProduct 0x002a LaserJet P1102 bcdDevice 1.00 iManufacturer 1 Hewlett-Packard iProduct 2 HP LaserJet Professional P1106 iSerial 3 000000000QNBJ2N3PR1a bNumConfigurations 1 Configuration Descriptor: bLength 9 bDescriptorType 2 wTotalLength 0x003e bNumInterfaces 2 bConfigurationValue 1 iConfiguration 0 bmAttributes 0xc0 Self Powered MaxPower 98mA Interface Descriptor: bLength 9 bDescriptorType 4 bInterfaceNumber 0 bAlternateSetting 0 bNumEndpoints 2 bInterfaceClass 7 Printer bInterfaceSubClass 1 Printer bInterfaceProtocol 2 Bidirectional iInterface 4 Printer Endpoint Descriptor: bLength 7 bDescriptorType 5 bEndpointAddress 0x01 EP 1 OUT bmAttributes 2 Transfer Type Bulk Synch Type None Usage Type Data wMaxPacketSize 0x0200 1x 512 bytes bInterval 0 Endpoint Descriptor: bLength 7 bDescriptorType 5 bEndpointAddress 0x81 EP 1 IN bmAttributes 2 Transfer Type Bulk Synch Type None Usage Type Data wMaxPacketSize 0x0200 1x 512 bytes bInterval 0 Interface Descriptor: bLength 9 bDescriptorType 4 bInterfaceNumber 1 bAlternateSetting 0 bNumEndpoints 3 bInterfaceClass 255 Vendor Specific Class bInterfaceSubClass 2 bInterfaceProtocol 16 iInterface 6 HP EWS Endpoint Descriptor: bLength 7 bDescriptorType 5 bEndpointAddress 0x02 EP 2 OUT bmAttributes 2 Transfer Type Bulk Synch Type None Usage Type Data wMaxPacketSize 0x0200 1x 512 bytes bInterval 0 Endpoint Descriptor: bLength 7 bDescriptorType 5 bEndpointAddress 0x82 EP 2 IN bmAttributes 2 Transfer Type Bulk Synch Type None Usage Type Data wMaxPacketSize 0x0200 1x 512 bytes bInterval 0 Endpoint Descriptor: bLength 7 bDescriptorType 5 bEndpointAddress 0x83 EP 3 IN bmAttributes 3 Transfer Type Interrupt Synch Type None Usage Type Data wMaxPacketSize 0x0008 1x 8 bytes bInterval 12 Device Qualifier (for other device speed): bLength 10 bDescriptorType 6 bcdUSB 2.00 bDeviceClass 0 bDeviceSubClass 0 bDeviceProtocol 0 bMaxPacketSize0 64 bNumConfigurations 1 can't get debug descriptor: Resource temporarily unavailable Device Status: 0x0001 Self Powered
二、CUPS配置
1、打開cups配置首頁
地址(zhi) //192.168.100.**:631/(這里的IP要(yao)改成你的群暉服務器(qi)地址(zhi)),界面如下:

2、登錄管理頁面
點菜單欄的Administration - > Add Printer ,彈出登錄提示框,默認用戶密碼(ma) print /print

3、配置打印機
Loacl Printers顯示已識(shi)別到:
HP LaserJet Professional P1106 USB 000000000QNBJ2N3PR1a HPLIP (HP Laserdet ProtesslonalP1106)
HP LaserJet Professional P1106 (HP LaserJet Professional P1106)
特別說明:
1)其中第(di)一(yi)個是(shi)(shi)HPLIP驅動,第(di)二個是(shi)(shi)通用USB驅動,選第(di)二個就(jiu)行。
2)第一個不用管,只有正確安裝HPLIP的(de)情況下才會出現。
HPLIP的下載、安裝都有點麻煩,我因為試來試去,走了(le)很多彎路,把hplip也給安裝上了(le),所(suo)以就有第一個識(shi)別選(xuan)項(xiang)。

4、設置打印機名稱,配置共享
Name:打印機名(ming)稱,隨便(bian)定義
Description:打印機詳細描(miao)述,隨便定義
Location:打印機位置,隨便定義
Sharing:必須選中。

5、選擇打印機描述文件,也就是PPD文件
Make:選HP
Model:選 HP LaserJet Pro P1566 Foomatic/foo2zjs-z2 (recommended)(en)
特(te)別(bie)說明:
HP LaserJet Pro P1566 Foomatic/foo2zjs-z2 這個選項(xiang)在很下(xia)面(mian),需要翻頁(ye)好一陣子才能找到,實測下(xia)來(lai) P1566 用起來(lai)完(wan)全沒問題(ti)。
另外,千萬不(bu)要去(qu)選(xuan)帶 hpcups 3.20.3, requires proprietary plugin (en) 字樣的(de)model文件。
帶hpcups代表依賴于 HPLIP,要是沒(mei)有安裝HPLIP,即(ji)便配置成(cheng)功,打印(yin)也會報錯,而HPLIP安裝又有點麻煩(fan),有一堆依賴件,這(zhe)里還是不要考慮了。

6、修改配置默認設置
打印紙默認(ren)改成(cheng)A4

7、顯示配置成功

三、查看宿主機的打印機廣播
退回(hui)到(dao)群暉(hui)的終端(duan)環境,在netterm下(xia)執行(xing)avahi-browse查看(kan)打印機廣(guang)播情況:
root@Nas220:/etc/cups# avahi-browse -r -a -t |grep HP1106 txt = ["printer-type=0x809006" "printer-state=3" "TLS=1.2" "UUID=af226e4f-d873-3da7-4d61-61e8fee2d54f" "URF=DM3" "pdl=application/octet-stream,application/pdf,application/postscript,image/jpeg,image/png,image/pwg-raster,image/urf" "product=(HP LaserJet Pro P1566)" "priority=0" "note=HOME" "adminurl=//nas220.local.:631/printers/HP1106" "ty=HP LaserJet Pro P1566 Foomatic/foo2zjs-z2 (recommended)" "rp=printers/HP1106" "qtotal=1" "txtvers=1"]
顯示廣播成功。
四、小結
到這里CUPS 的配(pei)置就基本結(jie)束,這里也簡(jian)要總結(jie)一下:
1、有關HP打印機的配置,網上有大量誤導,譬如驅(qu)動(dong)和ppd文件,驅(qu)動(dong)比(bi)較(jiao)麻(ma)煩,主要(yao)是看內核是否有集成。
PPD文(wen)件本質(zhi)是個文(wen)本文(wen)件,主(zhu)要定義紙型(xing)、邊距等內(nei)容(rong),所以(yi)可(ke)以(yi)替換使用。
2、cups的配置都保存在/etc/cups下,涉及(ji)cupsd.conf ,printers.conf ,classes.conf 三個文件。
其中cupsd.conf 是可以修改和配(pei)置(zhi)的,printers.conf是自動(dong)生成的,classes.conf是配(pei)置(zhi)類才會(hui)生成。
最重要一點,正常情況(kuang)下不用(yong)做任何改動(dong),網上有(you)一堆改這改那的配置,其(qi)實都有(you)版本適(shi)用(yong)性問題,所以這(zhe)里就干脆不解(jie)釋(shi),也(ye)不去改動。
3、cups與avahi的配合,一個在容器里,一個在宿主機內,他們通(tong)過共享宿主機(ji)與容器的dbus和網(wang)絡來實現通(tong)訊。
以打印(yin)(yin)來舉例,客(ke)戶(hu)端發起打印(yin)(yin),向群暉(hui)ip:631端口發送報(bao)文(wen),容(rong)器(qi)和(he)群暉(hui)會同時收到報(bao)文(wen),因為群暉(hui)的(de)631端口服(fu)務已經停掉,就交(jiao)由容(rong)器(qi)內(nei)的(de)cups服(fu)務調用打印(yin)(yin)機進行打印(yin)(yin)。
以打(da)(da)印機(ji)(ji)廣播舉例,容器內的(de)(de)最(zui)新(xin)版的(de)(de)cups,在打(da)(da)印機(ji)(ji)配置(zhi)成功后,會自動(dong)通過宿主機(ji)(ji)的(de)(de)dbus將(jiang)信息傳(chuan)遞給宿主機(ji)(ji)的(de)(de)avahi。
宿主機avah服務識別到待廣播的打印機,自動開啟廣播服務,并不(bu)需要在宿主機的/etc/avahi/services/下增(zeng)加配置(zhi)文件。
網上有一堆關于avahi的配置(zhi)文(wen)件的描述,都是(shi)老版本的需(xu)求(qiu),新版是(shi)不(bu)需(xu)要(yao)手(shou)動配置(zhi)。
下一章,介紹windows、安卓(小米(mi)手機(ji)等)、mac(蘋果手機(ji)或者iPad或者筆(bi)記本)如何調用群暉上(shang)的打印(yin)機(ji)服務。
