UNIX作業系統列印故障的排除(轉)

BSDLite發表於2007-08-11
UNIX作業系統列印故障的排除(轉)[@more@]  在UNIX系統工作環境下,一旦遇到印表機系統故障,必然會不同程度地影響到工作。下面就是UNIX系統下印表機系統的6大故障及其排除方法,相信會對讀者解決遇到的類似問題有所助益。
  
  在UNIX系統工作環境下,經常會因為碰到因印表機系統故障致使印表機不能列印或列印效果不盡如人意的問題而傷腦筋,影響工作。筆者根據多年的實踐經驗,總結出在UNIX系
  統下幾種印表機系統故障的排除方法,供同行借鑑:
  
  故障一:印表機不能列印

  如果在列印命令發出之後印表機不動作,沒有列印輸出,則應做如下檢查:
  
  1.確保印表機電源接好。
  
  2.檢查印表機的硬體是否正常。一般可用自檢的方法進行檢查。
  
  3.檢查印表機電纜,保證它正常地連線到印表機介面和計算機列印埠上。
  
  4.確保印表機配置正確。要建立並行或序列印表機使之能正確接收資料。如果印表機是序列的,應保證計算機向印表機傳送資料的波特率與印表機的波特率相匹配。
  
  5.應保證印表機處於有效狀態。為此應啟動sysadmsh並選擇:
  
  Printers→Schedule→Accept
  
  Printers→Schedule→Enable
  
  6.確保系統在啟動時能夠識別印表機埠。在版權資訊之後,系統對每個埠都應顯示類似下面的資訊:
  
  Parallel 0x378-ox37A 07-Unit=0
  
  如果系統沒有顯示對應印表機的此類資訊,則應按照下面故障三中提到的有關命令執行。
  
  7.確保埠配置的中斷向量正確,並且沒有其它硬體在使用同一中斷向量。
  
  8.測試印表機埠的連線,辦法是將命令的輸出直接重定向至裝置。
  
  對於並行印表機LP0,鍵入:
  
  date>dev/lp0
  
  對於序列印表機ttyla,鍵入:
  
  (stty options;date)>/dev/ttyla
  
  這裡options是波特率、校驗碼以及別的你要傳給序列印表機的設定。
  
  如果重定向命令的輸出不能列印,應按照下面故障二中“不能重定向輸出至印表機”的命令執行。
  
  如果重定向命令的輸出能列印,則提交一個標準檔案(如/etc/motd),啟動sysadmsh進行列印,選擇:
  
  Dirs/Files→Print
  
  如果硬體連線正常,印表機有效且配置也正確,但列印請求仍得不到執行,則應作以下檢查:
  
  1.檢查lpsched程式是否在執行:
  
  ps-Ulp
  
  2.如果lpsched程式不在執行,則重新啟動:
  
  /usr/lib/lpshut
  
  /usr/lib/lpsched
  
  3.檢查列印請求是否經過篩選:
  
  lpstat-o-1
  
  該命令顯示有關輸出請求的狀態,印表機名以及相關裝置的詳細情況。
  
  4.如果印表機檢測出錯誤,不會馬上繼續自動列印過程。透過使印表機有效,強制繼續該過程。
  
  故障二:不能重定向輸出至印表機

  如果將輸出直接重定向至並行或串列埠,結果毫無動靜,或者系統顯示“不能建立”的訊息,則應作如下檢查:
  
  1.檢查該埠對應的裝置檔案在/dev目錄
  
  中是否存在。確保此檔案是一個裝置檔案而不是文字檔案。
  
  2.從一個正常的系統上取下電纜用在本系統中以測試電纜的連線情況。
  
  3.如果有DOS分割槽,則從DOS作業系統列印一個檔案。如果在DOS下能夠正常列印檔案在UNIX系統下卻不能,則應做如下檢查:
  
  確保埠系統啟動時已被識別,並且埠配置正確;
  
  如果埠配置正確,而還是不能將輸出重定向至埠,則應換一個裝置名試試;比如,對並行埠來講,用LP1來替換LP0;對串列埠而言,用tty2a替換ttyla;
  
  如果換了一個裝置名還是不能列印,則可能是印表機有缺陷,應檢查隨印表機附帶的硬體文獻以試求解決辦法。
  
  4.如果在DOS下也不能列印,則應檢查印表機配置。
  
  如果印表機的配置正確,而還是不能將輸出重定向至印表機,則問題很可能出在硬體上。這時應再次檢查電纜和埠。如果問題還是不能解決,可與印表機供應商聯絡。
  
  故障三:系統啟動時沒能識別埠

  如果系統在啟動時未能識別埠(即在版權資訊之後未顯示對應於埠的“parallel”或“serial”內容的一行資訊),應作如下檢查:
  
  1.確認並行或序列卡的設定正確。
  
  關掉電源,開啟機器;
  
  從匯流排上拔出列印卡,再重新插入。
  
  2.如果並行卡多於一塊,則可能是其中一塊與另一塊發生衝突,應移去第一塊。
  
  3.檢查列印卡配置是否正確,這可以透過對照隨卡附帶的手冊來實現。如有可能,可將卡設定為另一種配置試一試。
  
  4.列印卡可能壞了,換一塊試試。
  
  故障四:印表機的輸出非法

  如果印表機列印出非法輸出,則應對其作出如下檢查:
  
  1.確定序列印表機的波特率,看它與計算機的波特率是否匹配(如果印表機是透過並行埠連線的,則與波特率沒有關係)。為達到最佳效能可將波特率設定為9600。
  
  要將印表機服務所用的波特率作一改變,應使用如下的sysadmsh選擇:
  
  Printers→Configure→Parameters
  
  在“Default initial settings(預設初始設定)”部分的“stty”域內填入波特率數值。然後將一個標準樣本檔案提交列印。
  
  2.確定印表機的奇偶校驗設定情況,看它與印表機的奇偶校驗設定是否匹配(如果印表機透過導線與計算機直接相連,且相關距離小於15.25m,則沒有必要使用奇偶校驗位)。
  
  設定奇偶校驗位後,應使用如下的sysadmsh選擇:
  
  Printers→Configure→Parameters
  
  在表格的“Default initial settings”部分對“stty”域增加下列三項之一:
  
  oddp設定產生奇校驗
  
  evenp設定產生偶校驗
  
  -parity設定不用校驗位(預設值)
  
  故障五:列印輸出格式不對

  如果印表機的輸出是合法的,但格式不對,則應啟動sysadmsh並選擇:
  
  Printers→Configure→Parameters
  
  針對下面的每一種情況,調整“Default initial settings”部分“stty”域的設定:
  
  如果印表機輸出的間距是正常情況下的兩倍,則使用-onler或者-tabs選項;
  
  如果輸出的正文擠在一起,應輸入-tabs選項;
  
  如果印表機的輸出呈鋸齒狀,則應輸入-onlcr選擇項(該選項是預設設定的,但管理員可能由於誤操作將其去掉)。
  
  故障六:並行列印速度緩慢

  如果印表機列印速度異常地慢,則應檢查印表機安裝過程中各項配置是否設定好。
  
  如果在確認並行埠配置正確之後印表機速度仍然很慢,則問題可能在於並行埠產生中斷的能力不夠。
  
  要加快並行印表機的列印速度,可以改變硬體和列印驅動程式通訊的方式。可以使並行印表機的驅動程式“假離線”於並行埠,這樣驅動程式即可不依賴於從並行埠產生的中斷(注:當印表機驅動程式“假離線”並行脫口時,可能會遇到系統資源用完的問題)。
  
  要對並行埠或並行印表機建立假離線機制,應建立所謂的“特殊裝置節點(special device node)”。執行步驟如下:
  
  1.注意一下在系統啟動時識別的那個並行印表機埠(可以在/usr/adm/mcssagcs檔案中檢視最後的啟動資訊)。比如:
  
  parallel 0x378 0x374 unit=0
  
  2.作為超級使用者註冊。
  
  根據印表機的需要設定匹配的選項。
  
  3.檢查“Tab”的設定是否正確。
  
  如果這些設定及波特率都正確,而輸出還是不正常,則應檢查印表機型別正確與否。如果在用列印服務建立印表機時選擇的印表機型別不對,就會將不正確的控制字元傳送給印表機,這會引起印表機的輸出消失或者非法。另外,還可能是由於設定了錯誤的字符集所致。
  
  如果不知道印表機型別,則應使用以下步驟查出印表機型別:
  
  1.如果認為印表機是某一型別的而又不能確信,可在系統提示符下輸入如下命令:
  
  TERM=printer-type tput longname
  
  一段對由printer-type指定的印表機的簡單描述會出現在終端上。如果認為該描述與你的印表機不相符,可以另換一個printer-type試試,重複這一過程直到描述與實際印表機相符為止。
  
  2.如果不知道用什麼名字(printer-type)來試,可用以下命令來檢查:
  
  /usr/lib/terminfo目錄,以得到印表機型別名清單:
  
  ls -R/usr/lib/terminfo/more
  
  從所得清單中選出一個詞或數字來代表印表機型別。比如,名字495即代表AT&&T495印表機。用清單中的每一個名字來替換第1步的命令中的printer-type,直到滿意為止。
  
  當你獲得自己認為是正確的印表機型別名之後,可改變印表機型別設定。為此應按以下步驟進行:
  
  1.啟動sysadmsh並選擇:
  
  Printers→Configure→Parameters
  
  2.在印表機名(terminfo資料庫)域中,輸入印表機的型別名。
  
  3.輸入下列命令的一個以建立對應印表機的特殊裝置檔案:
  
  對lp0,鍵入:mknod/dev/lp0p c 6 64
  
  對lp1,鍵入:mknod/dev/lp1p c 6 65
  
  對lp2,鍵入:mknod/dev/lp2p c 6 66
  
  4.對所有想要配置的印表機都輸入以下命令。比如,對/dev/lp0,應輸入:
  
  chown bin /dev/lp0p
  
  chgrp bin /dev/lp0p
  
  chmod 222 /dev/lp0p
  
  5.如果正在使用印表機的假離線程式,現在就必須將新的並行假離線裝置通知假離線程式。
  
  啟動sysadmsh並選擇:
  
  Printers→Configure→Modify
  
  6.在“Device mame(裝置名)”域中,不要用標準並行裝置名,應該用/dev/lp0p,/dev/lplp,或者/dev/lp2p。

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/10617542/viewspace-946576/,如需轉載,請註明出處,否則將追究法律責任。

相關文章