( https://nmap.org ) at 2021-12-02 23:22 -03 Nmap scan report for 192.168.1.116 Host is up (0.0071s latency). Not shown: 997 closed ports PORT STATE SERVICE VERSION 80/tcp open upnp Epson Stylus NX230 printer UPnP (UPnP 1.0; Epson UPnP SDK 1.0) |_http-server-header: EPSON_Linux UPnP/1.0 Epson UPnP SDK/1.0 |_http-title: Site doesn't have a title (text/html). 515/tcp open printer 9100/tcp open jetdirect? ... OS and Service detection performed. Please report any incorrect results at https://nmap.org/submit/ . Nmap done: 1 IP address (1 host up) scanned in 24.07 seconds
for Printers version 2 • É derivado do ESC/P • Vem desde as impressoras matriciais da Epson • É usado por todas as impressoras jato de tinta da marca • Possui algumas diferenças do ESC/P
para que a impressora entenda ESC/P2: 00 1b 01 40 45 4a 4c 20 31 32 38 34 2e 34 0a 40 |...@EJL 1284.4.@| 45 4a 4c 20 20 20 20 20 0a 1b 40 1b 40 1b 28 52 |EJL ..@.@.(R| • Ele é enviado para retirar a impressora do “1284.4 packet mode” • O Project Gutenprint chama isso de “magic command”
fixas • Elas são setadas com o comando ESC (U • Essas unidades são conhecidas como VUNITS e HUNITS • VUNIT é uma unidade de posição vertical da impressora. ◦ Geralmente é proporcional ao DPI da impressão. ◦ A 360dpi, 1 VUNIT = 1/360 polegadas • HUNIT é uma unidade de posição horizontal da impressora Movimento
Para cada cor: ESC ($ Move a cabeça de impressão horizontalmente ESC i Imprime uma linha do bitmap \r Move a cabeça de volta pro começo da linha 0c 1b 40 Puxa uma folha nova
• Aparentemente, cada tinta tinha uma posição inicial diferente das outras ◦ (cada “preto” estava pintado de cores diferentes) ◦ eles estavam um em cima do outro, em vez de um após o outro.
em um lugar diferente: ◦ O amarelo (0x04) e o preto alternativo 2 (0x06) começam a 2/3 polegada antes ◦ O magenta (0x01) e o preto alternativo 1 (0x05) começam a 1/3 polegada antes ◦ O preto (0x0) e o ciano (0x02) começam na linha atual.
não? • Eu fui atrás porque achei que seria interessante saber • A impressora emite seu status via SNMP ◦ Simple Network Management Protocol ◦ Ela só faz isso via wireless, aparentemente • O driver do Windows lê esses dados, mas o do Linux não :( Status da impressão
O dispositivo expõe algumas variáveis, chamadas OIDs (object identifiers) ◦ exemplo de OID: 1.3.6.1.2.1.1.1 • Esses OIDs estão organizados em repositórios chamados MIBs (Management Information Base) • Alguns deles estão padronizados! ◦ e a impressora suporta alguns (SNMP MIB-2 System, 1.3.6.1.2.1) • Outros ficam num MIB específico da marca (1.3.6.1.4.1)