Printerproblemen op de Sun

Start afdruk Stop afdruk KAVTA bonnenprinter Vreemde afdruk Axis printerserver Axel printer SPLSUN en Unix
OKI settings
 

Algemeen

Voordat we dieper ingaan op de problemen die tijdens het printen kunnen optreden, is het wellicht zinvol om even in te gaan op het hele printproces, zoals dat op de Sun functioneert. Er zijn vijf componenten die een belangrijke rol in dit proces spelen:

  1. Het stuurbestand van de programmeertaal, zoals BASIC, waarin is vastgelegd welke printers er zijn en hoe die printers binnen de applicatie genoemd worden. Vaak is er bijvoorbeeld een Unix printer p0, en wordt in het configuratiebestand vastgelegd dat deze binnen de applicatie als P0 wordt aangesproken. Soms, zoals in BBx (VPRO5), wordt in deze configuratiebestanden ook vastgelegd welke codes de printer gebruikt voor zaken als groot schrift en dergelijke.
  2. De applicatie, die gegevens uit bestanden leest en naar de printer, bijvoorbeeld P0, stuurt. Een applicatie kan ook nog gebruik maken van eigen stuurbestanden, waarin bijvoorbeeld is vastgelegd wat voor bladlengte er moet worden gebruikt
  3. De Unix print spooler die de uitvoer naar de printer onderschept en in een bestand plaatst om vervolgens vanuit dat bestand de printer van gegevens te voorzien. Spoolers worden toegepast om het printproces te versnellen. Zelfs moderne printers zijn in verhouding met het Unix systeem traag. Als de applicatie op de printer moet wachten, zou ook de gebruiker op elke afdruk moeten wachten voordat men weer terugkeert naar het menu van de applicatie. Door de applicatie snel naar een spoolfile te laten schrijven en daarna de spooler, via een automatisch gestarte andere taak, de communicatie tussen spoolfile en printer te laten verzorgen, heeft men als gebruiker geen last van de traagheid van de printer. Unix kent verschillende commando's voor de spooling, welke deels ook vanuit uw applicatie via SPLSUN te benaderen zijn.
  4. De printer zelf tenslotte zorgt ervoor dat alle ontvangen bytes in een leesbare vorm op papier terechtkomen.

Printerproblemen kunnen verschillende vormen aannemen:

Het starten van het afdrukken

Printen via Solaris/Linux verloopt meestal zonder problemen, maar soms gaat het mis en wacht men op een uitdraai die maar niet verschijnt. Problemen treden meestal op als men een printer heeft uitgezet, of als een netvoedings- of datakabel is losgeraakt, doordat er bijvoorbeeld met de printer geschoven is. Heel soms worden problemen veroorzaakt doordat in de apparatuur defecten zijn onstaan. Daarbij hoeft het niet noodzakelijk om de printer zelf te gaan, maar kan het ook de printerserver betreffen. Het localiseren van het probleem kan dan best lastig zijn. Hieronder wordt een mogelijke aanpak beschreven.

Problemen oplossen met Axis printerservers

Indien uw problemen een Axis printserver betreffen, kunt u de hieronder beschreven procedure volgen om de mogelijke oorzaak op te sporen. Daarbij wordt een # gebruikt om aan te geven dat u daar een voor uw geval van toepassing zijnde nummer in moet geven.

  1. Voorafgaande controles en verdere benodigde informatie
    • Brandt het (groene) netspanningslampje op de server?
    • Zitten de netwerkkabels goed vast aan de server en de printer?
    • Staat de printer wel online?
    • Bepaal het MAC-adres van de printerserver. Dit staat meestal onderop de server achter Serial no:.
    • Bepaal de Unix printernaam. Dit is meestal een p gevolgd door het printernummer, dus als uw binnen uw applicatie problemen heeft met P3, dan betreft het (veelal) Unix printer p3. Voor alle zekerheid is het raadzaam om in het configuratiebestand te kijken met pg. Het configuratiebestand van BBx heet normaal gesproken /usr/bbx/config.bbx.
  2. Bepaal de netwerknaam van de Axis
    • Bekijk met pg bestand /usr/local/lib/axis/ftp_p# (waarbij p# vervangen wordt door de Unix printernaam).
    • Daarin staat een regel met 'internet_adress=axis#' en een regel met 'logical_printer=pr?'. Axis# is de naam van de Axis server en pr? is de logische printernaam die we nog nodig hebben.

    Als de printers gewoon als processen draaien, kan men deze gegevens ook op een andere manier bepalen, namelijk via ps -ef ¦ grep axis.

  3. Bepaal het TCP/IP adres van de Axis server
    • Bekijk met more het bestand /etc/hosts.
    • Daarin moet een regels staan met 'axis#   192.9.200.nnn. Zo niet, dan is de printerserver niet vanuit Unix benaderbaar.
  4. Controleer de koppeling tussen TCP/IP adres en MAC-adres
    • Geef in arp -a om een tabel met addreskoppelingen op het scherm te krijgen.
    • Hierbij moet de server genoemd worden. Controleer verder het MAC-adres (A), de servernaam (B) en het TCP/IP adres (D).
  5. Controleer de netwerkverbinding met de printserver
    • Geef in ping axis# om de verbinding te testen.
    • Als het systeem antwoordt met de melding 'not responding' is het mis. Een mogelijk oorzaak kan een (intern) beschadigde kabel zijn, of een loszittende kabel. Aan een beschadiging kunt u niet veel doen, maar probeer wel om de kabels eens extra aan te drukken. Als de boodschap 'is alive' verschijnt, dan is de netwerkverbinding in ieder geval in orde.
  6. Probeer in te loggen op de printserver
    • Tik in telnet axis# en log in met usernaam 'root' en wachtwoord 'pass'.
    • Tik in status om te bekijken of alles in orde is.
    • Met de opdracht account krijgt men de laatst ontvangen printopdrachten te zien. Als de laatst ontvangen printopdracht ook de laatst verstuurde opdracht is (kijk naar het aantal bytes), zit het probleem vermoedelijk in de printer.
    • Controleer de status (S)
    • Tik in logout om weer uit te loggen
  7. Probeer te FTP-en naar de printserver
    • Tik in ftp axis# en gebruik weer 'root' en 'pass' om in te loggen.
    • Probeer nu een kort Unix bestand (hosts) naar de printer te sturen met put /etc/hosts pr?, waarbij pr? de logische printernaam uit stap B is.
    • Als er niets wordt afgedrukt, probeer het dan eventueel met een andere logische printer.
    • Sluit de FTP sessie met quit af.
  8. Printen vanuit Unix
    • Als tot hier alles goed gegaan is, zou de printer vanuit Unix moeten werken. Tik in lp -dp# /etc/hosts om deze theorie te testen.
    • Als het niet werkt zit het probleem wellicht in stap B.
    • Als het wel werkt dan zit het probleem in de gebruikte applicatie.

Printproblemen bij een Axel terminal

Als de printer, welke gekoppeld is aan een Axel terminal niet werkt, is het raadzaam om de volgende controles uit te voeren:

Het stoppen van het afdrukken

Wat u ook doet, zet in ieder geval niet zo maar de printer uit. Dat is iets waar Unix slecht tegen kan. Als u de printer uitzet, kunt u meestal meteen een ander probleem oplossen, namelijk 'het starten van het afdrukken'. Praktisch gezien betekent het verbod om de printer uit te zetten dat u het afdrukken nooit kan stoppen, behalve als het om héééél lange lijsten gaat. Als u namelijk kortere lijsten afdrukt, passen die vaak helemaal in het interne buffer van de printer en als de tekst daar eenmaal is aangeland, kunt u er niet meer bij. Om het afdrukken van een lange lijst af te breken, gebruikt u programma SPLSUN. Binnen dat programma kiest u voor optie 4.

Vreemd uitziende afdrukken

Vreemd uitziende afdrukken, worden vaak veroorzaakt doordat men een nieuwe printer heeft aangesloten of een oude printer door een nieuw type heeft vervangen. Er kunnen diverse manieren zijn waarop de afdruk eigenaardig oogt:

De 'verkeerde' bonnenprinter wordt gebruikt binnen KAVTA

Dit probleem komt alleen voor bij gebruikers van het KAVTA pakket, die met terminal gebonden printers werken voor sommige programma's, zoals bijvoorbeeld het afdrukken van contantbonnen. Het probleem komt voort uit een misverstand over het gebruik van het trefwoord T-P, waarmee printers aan een terminal worden gekoppeld. Als toevoeging bij het trefwoord moet een PC-id worden gegeven. Men denkt soms dat dit de inlognaam van de gebruiker is, maar dat is niet zo. De printers worden namelijk gekoppeld aan terminals en niet aan gebruikers. Als men er even over nadenkt is dat ook logisch, want als iemand tijdelijk op een andere afdeling gaat werken en dus met de eigen naam op een andere PC inlogt, is het wel zo makkelijk als die persoon bonnen kan afdrukken op de printers van die nieuwe afdeling, en niet voor elke afgedrukte bon naar een printer op de oude afdeling hoeft te lopen.

De makkelijkste manier om de PC-id van een terminal te achterhalen is om, mits men voldoende rechten heeft, de applicatie op te starten en in het hoofdmenu <F10> te geven om te escapen. Vervolgens tikt men in !set ¦ grep BBNAME . Er verschijnt als het goed is een regel, die begint met BBNAME=. De tekst achter het '=' teken, zonder de omringende haakjes geeft de PC-id, dus (pc8) betekent dat de PC-id gelijk is aan pc8. Met RUN "L" kunt u terugkeren naar het menu, en daar vervolgens het trefwoord herzien.

SPLSUN en Unix spool commando's

Normaal gesproken zal men de spooler besturen vanuit BBx met het programma SPLSUN, maar het kan ook via Unix commando's. SPLSUN werkt over het algemeen makkelijker dan het zelf intikken van de Unix commando's. Wat men ook gebruikt, voor een succesvolle printersturing moet men weten op welk deel van het printproces de opdrachten invloed uitoefenen. Hieronder is een en ander in een schema samengevat:

schema Unix spool commando's

Hieronder wordt een opsomming gegeven van een aantal commando's dat vanuit Unix of via SPLSUN kan worden gebruikt. Niet alle commando's zijn voor elke gebruiker uit te voeren. Vaak heeft men de rechten van de root-gebruiker nodig. Zo is binnen SPLSUN alleen optie 5 door iedereen te gebruiken.

CommandoFunctieSPLSUN optie
accepttoestaan printerspooling8
rejectverbieden printerspooling
cancelopheffen printopdracht4
enableprinter starten2
disableprinter stoppen3
lpstatprinter status1
lpmoveverplaats spoolfile9
lpshutstoppen spooling6
lpschedactiveren spooling7
info spoolfiles5

Mocht u ooit van de Unix commando's gebruik willen maken, dan kunt u de bij elk commando te gebruiken syntax achterhalen via man.

Soms kan het gebeuren dat er oude spoolfiles worden afgedrukt, die in SPLSUN niet te zien zijn. Die spoolfiles zijn dan alleen binnen Unix zelf bekend en moeten ook via Unix verwijderd worden. Gewoonlijk kan men dan de volgende werkwijze hanteren:

OKI settings

Als men een nieuwe OKI printer in gebruik neemt, zal deze bij grote spoolfiles wat bladzijden goed afdrukken en daarna stukken tekst kwijtraken. OKI printers gebruiken standaard namelijk een ander protocol dan uw Sun systeem, waardoor de printer er niet in slaagt om aan de Sun door te geven dat de printerbuffer vol zit. In de settings van de OKI printer dient het volgende te worden gewijzigd:

Hoe de settings gewijzigd kunnen worden, verschilt per printertype. Belangrijk is hoe men in de menu selectie van de printer komt. Dit is meestal wel in de user manual van de printer te vinden. Voor een Microline 3410 moet men bijvoorbeeld tegelijk op de knop met 'print quality' en 'character pitch' drukken. Als men eenmaal in de menu selectie staat, is de werkwijze over het algemeen als volgt:


Terugkeren naar het hoofdmenu