SOP-5-I-42Q-MES0103-C Zebra Utilities

From 42Q
Jump to navigation Jump to search

42Q Home > Tools > Zebra Utilities
RTENOTITLE

 

 

 

Tools
Zebra Utilities
Version MES15.3.3 Portal 1.0
Work Instruction 

 

This Work Instruction is 42Q's corporate standard.
This document is under revision control. The latest revision is located on Intranet.
Once printed it is an uncontrolled copy. All alterations to this work instruction require approval.
Contact the IT Global Education and Training Department to submit suggested alterations and or updates.

This edition applies to MES 15 Portal 1.0 and all subsequent releases and modifications until otherwise indicated in new revisions.

 

Zebra Websocket Printer Development and Configuration Introduction

Several of the new Zebra Printers now contain firmware allowing them to connect to a Zebra Tomcat servlet hosted on a remote server which can push print jobs to the printer. Each printer opens 2 connections to the servlet over an assigned port(default 8443), a data connection, and a control connection. The servlet uses a websocket protocol to communicate with the printers. The servlet communicates with other applications on the backend through the default Zebra Web services RMI port(11995) such as a CUPs queueing system or a connection reporting servlet such as Zebra’s ZebraWebServicesDeveloperDemo service. Servlet initialization fails if either port is in use at the time of startup as seen in the $CATALINA_HOME/logs/catalina.out log. The $CATALINA_HOME variable is defined either in the /etc/systemd/system/tomcat7.service or /etc/init.d/tomcat7 file.

NOTE:  New printers or printers experiencing trouble connecting should be upgraded to the latest firmware revision.  New printers with extensive shelf life or older printers may not have the required firmware loaded for a weblink connection. The zebra printers use the following SSL security for communications to the cloud server.

a) TLS 1.2 protocol which fixes the infamous "heartbleed" flaw.

b) The following ciphers which step down in the following order until available cipher support is announced by the client.

Ciphers :

RFC Cipher Suite Name OpenSSL Name
1) TLS_DHE_RSA_WITH_3DES_EDE_CBC_SHA EDH-RSA-DES-CBC3-SHA
2) TLS_RSA_WITH_AES_256_CBC_SHA AES256-SHA
3) TLS_RSA_WITH_AES_128_CBC_SHA AES128-SHA

c) The certificate is composed of 2048 bit key strength, an industry standard set by the Certification Authority/Browser (CA/B) Forum which is required for certificates which expire after December 31, 2013.

 Download the most current firmware for the printer and use the Zebra MS Windows Setup Utility to transfer the firmware file to the printer.  The setup utility can be downloaded form the following site:

https://www.zebra.com/us/en/products/software/barcode-printers/zebralink/zebra-setup-utility.html

The firmware can be found here:

https://www.zebra.com/us/en/support-downloads.html

 

NOTE:

  • Java version "1.7.0_21" used on the MES database server.
  • Tomcat version “7.0.73” used on the MES database server.

 


Links for Installation, Development and Configuration Documentation

https://km.zebra.com/resources/sites/ZEBRA/content/live/WHITE_PAPERS/0/WH130/en_US/Weblink%20WebSocket%20Endpoint%20Configuration.pdf

https://www.zebra.com/content/dam/zebra/manuals/en-us/software/zpl-zbi2-pm-en.pdf

https://www.zebra.com/us/en/products/software/barcode-printers/link-os/link-os-sdk.html

https://www.zebra.com/us/en/products/software/barcode-printers/zebralink/zebra-setup-utility.html

http://techdocs.zebra.com/link-os/latest/webservices/content/com/zebra/sdk/remote/comm/RemoteConnection.html#DEFAULT_ZEBRA_WEBSERVICES_RMI_PORT

https://www.zebra.com/content/dam/zebra/product-information/en-us/brochures-datasheets/software/linkos-datasheet-en-us.pdf

https://developer.zebra.com/thread/30309

https://www.zebra.com/us/en/support-downloads/software.html

https://play.google.com/store/apps/details?id=com.zebra.printersetup&hl=en

https://km.zebra.com/kb/index?page=answers&question_box_status=changed&question_box=Zebra+Setup+Utility

https://www.digitalocean.com/community/tutorials/how-to-configure-bind-as-a-private-network-dns-server-on-ubuntu-14-04

http://git.net/ml/printing.cups.devel/2004-10/msg00007.html

https://www.cups.org/doc/api-filter.html

https://www.digitalocean.com/community/tutorials/how-to-install-apache-tomcat-8-on-ubuntu-16-04

https://developer.mozilla.org/en-US/docs/Web/API/WebSockets_API/Writing_WebSocket_servers

https://developer.mozilla.org/en-US/docs/Web/API/WebSockets_API/Writing_WebSocket_servers_client_applications

https://github.com/boostorg/beast

https://www.krizna.com/ubuntu/configure-dns-server-ubuntu-14-04/

Installation

Code to be installed on server MES database server

/usr/lib/cups/backend/zebraReadQueue.bsh

/usr/local/java7/lib/TalkZebra.jar

/usr/local/apache-tomcat-7.0.73/webapps/zebra.war

/usr/local/apache-tomcat-7.0.73/webapps/ZebraWebServicesDeveloperDemo.war

Cert to be installed on server MES database server

/usr/local/apache-tomcat-7.0.73/conf/server_name.domain_name.com.p12

Configuration files modified on server MES database server

/usr/java/jdk1.7.0_21/jre/lib/security/cacerts

/etc/cups/printers.conf

/usr/local/apache-tomcat-7.0.73/conf/server.xml

 

Zebra Link-OS (weblink) Capable Printers

Capable printers can be found at the following links:

https://www.zebra.com/us/en/products/software/barcode-printers/zebralink/link-os-sdk.html

https://www.zebra.com/us/en/products/software/barcode-printers/link-os.html

 

As of March 1, 2017, the Link-OS environment is available for use with the following compatible Zebra devices:

  • iMZ220
  • iMZ320
  • QLn220
  • QLn320
  • QLn420
  • QLn220 Healthcare
  • QLn320 Healthcare
  • ZT210
  • ZT220
  • ZT230
  • ZT410
  • ZT420
  • ZD500
  • ZD500R
  • ZQ510

 

Tomcat startup file on server MES database server

/usr/local/apache-tomcat-7.0.73/bin/catalina.sh

Configuration files modified on server MES database server

/etc/cups/cupsd.conf - server MES_portal_server_name

Generate a pkcs12 type certificate

  1. openssl genrsa -out server_name.domain_name.com.key 2048
  2. Change server_name.domain_name.com to something like zprinters.new_domain_name.com for new certificates(definitely use the new_domain_name.com domain in the future)
  3. openssl req -new -subj "/C=US/ST=state/L=city/O=company_name/OU=IT Team/emailAddress=admin@domain_name.com/CN=server_name.domain_name.com" -key server_name.domain_name.com.key -out server_name.domain_name.com.csr
  4. Email the certificate file (server_name.domain_name.com.csr file) to softpm@zebra.com
  5. Continue with the next command upon receiving the server_name.domain_name.com.cer back in the email response

openssl pkcs12 -chain -export -in server_name.domain_name.com.cer -inkey server_name.domain_name.com.key -out server_name.domain_name.com.p12 -passout pass:'pkcs12Password' -name tomcat -CAfile ./link_os_sdk/Webservices/v2.11.2800/cert/ZebraCAChain.cer -caname root

Load Zebra Certificate

Load certificate into the java keystore which Tomcat is using on server 42qmes1.42-q.com

  1. mkdir ~/zebra
  2. cd ~/zebra
  3. cp ./link_os_sdk/Webservices/v2.11.2800/cert/ZebraCAChain.cer ~/zebra
  4. Run the following command from ~/zebra_cert or you will get a -keystore syntax error
    1. export JRE_HOME=/usr/java/jdk1.7.0_17/jre
    2. $JRE_HOME/bin/keytool -importcert -file ZebraCAChain.cer -keystore \ "$JRE_HOME/lib/security/cacerts" -alias "ZebraCAChain" -storepass changeit

 

Delete Certificate

The following can be used to delete an existing certificate if ZebraCAChain currently exists from a previous installation:

  1. $JRE_HOME/bin/keytool -delete -alias "ZebraCAChain" -storepass changeit


Check certificate Installation 

NOTE: Installation can be checked with:

  1. $JRE_HOME/bin/keytool -list -keystore $JRE_HOME/lib/security/cacerts -storepass changeit | grep zebracachain
  2. Restart tomcat if already running
  3. sh /usr/local/apache-tomcat-7.0.73/bin/startup.sh
  4. sh /usr/local/apache-tomcat-7.0.73/bin/shutdown.sh

 

  1. cp ~/zebra/server_name.domain_name.com.p12 /usr/local/apache-tomcat-7.0.73/conf
  2. Permissions should be like -rw------- 1 tomcat7 tomcat7

 

 

Install the zebra.war and ZebraWebServicesDeveloperDemo.war Servlets

The zebra.war and ZebraWebServicesDeveloperDemo.war files are found in the Zebra software development kits(SDKs) which can be located at the site:

https://www.zebra.com/us/en/products/software/barcode-printers/link-os/link-os-sdk.html

Choose the "Linux Installer" option for the desired build.

1.  ./link_os_sdk/Webservices/v2.11.2800/lib/zebra.war

2. ./link_os_sdk/Webservices/v2.11.2800/demos/release/ZebraWebServicesDeveloperDemo.war

 

  1. cp zebra.war file /usr/local/apache-tomcat-7.0.73/webapps
  2. permissions should be like -rw-rw-r-- 1 tomcat7 tomcat7

 

  1. cp ZebraWebServicesDeveloperDemo.war /usr/local/apache-tomcat-7.0.73/webapps
  2. permissions should be like -rw-rw-r-- 1 tomcat7 tomcat7


Modify the tomcat /usr/local/apache-tomcat-7.0.73/conf/server.xml file with:

<Connector SSLEnabled="true" acceptorThreadCount="5" clientAuth="want" keyAlias="tomcat" keystoreFile="conf/server_name.domain_name.com.p12” keystorePass=”pkcs12Password” keystoreType="pkcs12" maxConnections="-1" maxThreads="2500" port="8443" protocol="org.apache.coyote.http11.Http11NioProtocol” scheme="https" secure="true" sessionTimeout="0" socket.soKeepAlive="true" sslProtocol="TLS"/>

Modify the tomcat /usr/local/apache-tomcat-7.0.73/bin/catalina.sh file with:

-Djdk.tls.ephemeralDHKeySize=2048 \

in each startup stanza as shown in the following

eval "\"$_RUNJAVA\"" $LOGGING_MANAGER $JAVA_OPTS \

-Djdk.tls.ephemeralDHKeySize=2048 \

-Djava.endorsed.dirs="\"$JAVA_ENDORSED_DIRS\"" -classpath "\"$CLASSPATH\"" \

-Dcatalina.base="\"$CATALINA_BASE\"" \

-Dcatalina.home="\"$CATALINA_HOME\"" \

-Djava.io.tmpdir="\"$CATALINA_TMPDIR\"" \

org.apache.catalina.startup.Bootstrap "$@" stop

Expose external port 8443 or other desired port to be used for the printer

Connection

Have customer load their DNS with server_name.domain_name.com referencing the ip of the external ip of the server running the zebra.war servlet

                                      -or-

expose port 53 to allow the customer to hit a company DNS

Build from Subversion Location

Build TalkZebra.jar

Build from the following subversion location and import the following as an eclipse project :

svn_name.domain_name.com/SES/MDS/MDS/trunk/cirrus/utilities/zebra/weblink/ZebraQueue2WebSocketConnect

Or build the source from the following subversion location in eclipse:

svn_name.domain_name.com/SES/MDS/MDS/trunk/cirrus/utilities/zebra/weblink/ZebraQueue2WebSocketConnect/src/com/Company_Name/WebSocketConnect/connect.java

Libraries used to build TalkZebra.jar are placed under Referenced Libraries in the eclipse IDE for the build.

libraries found in from the Zebra SDK (Software Development Kit) used to build the TalkZebra.jar:

file:///your_base_install_directory/link_os_sdk/Webservices/v2.11.2800/demos/eclipse/ZebraWebServiceDeveloperDemo/WebContent/WEB-INF/lib

  • commons-io-2.2.jar
  • commons-logging-1.1.1.jar
  • commons-net-3.1.jar
  • commons-validator-1.4.0.jar
  • gson-2.1.jar httpcore-4.3.1.jar
  • httpmime-4.3.2.jar
  • jackson-annotations-2.2.3.jar
  • jackson-core-2.2.3.jar
  • jackson-databind-2.2.3.jar
  • jstl-1.2.jar log4j-1.2.16.jar
  • opencsv-2.2.jar snmp6_1.jar
  • spring-aop-3.1.2.RELEASE.jar
  • spring-asm-3.1.2.RELEASE.jar
  • spring-beans-3.1.2.RELEASE.jar
  • spring-context-3.1.2.RELEASE.jar
  • spring-context-support-3.1.2.RELEASE.jar
  • spring-core-3.1.2.RELEASE.jar
  • spring-expression-3.1.2.RELEASE.jar
  • spring-security-config-3.1.2.RELEASE.jar
  • spring-security-core-3.1.2.RELEASE.jar
  • spring-security-web-3.1.2.RELEASE.jar
  • spring-tx-3.1.2.RELEASE.jar
  • spring-web-3.1.2.RELEASE.jar
  • spring-webmvc-3.1.2.RELEASE.jar
  • ZSDK_API.jar

in eclipse export as a java/runable jar eg.:

/home/user_name/development/cloudprint/queue.backend/TalkZebra.jar

extract required libraries into generated jar

The Zebra SDK for the PC(linux) can be found at the following link:

https://www.zebra.com/us/en/products/software/barcode-printers/zebralink/link-os-sdk.html

mkdir -p /usr/local/java7/lib

cp /home/user_name/zebra/TalkZebra.jar /usr/local/java7/lib/TalkZebra.jar 

permissions should be like : -rw-r--r-- 1 root root 11176363 Feb 3 13:25 TalkZebra.jar

Set up zebraReadQueue.bsh in backend

location in subversion:

http://svn_name.domain_name.com/SES/MDS/MDS/trunk/cirrus/utilities/zebra/weblink/bash/zebraReadQueue.bsh

cp ~/zebra/zebraReadQueue.bsh /usr/lib/cups/backend/zebraReadQueue.bsh

permissions should be like: -rwxr-xr-x 1 root root 2371 Feb 1 12:16 /usr/lib/cups/backend/zebraReadQueue.bsh

/etc/init.d/cups stop

/etc/init.d/cups start

Set Up Printer Queues

The parameter "-o printer-error-policy=retry-job” is set for the remote Zebra cloud-connect printer queues. The defaults and current settings are “-o JobRetryInterval=30” (seconds) and the “-o JobRetryLimit=5” (attempts) to word around the hibernation/sleep/suspend mode or initial failures. The default error policy is normally “ErrorPolicy abort-job” in the /etc/cups/cupsd.conf file, which was the reason for no retries during the initial demonstrations. The JobRetryLimit can be increased up to INT_MAX(2^31-1), integer 2147483647, if necessary. There is no infinite setting for JobRetryLimit.

Some web references for this information :

http://serverfault.com/questions/364982/change-cups-default-printer-error-policy
https://www.cups.org/doc/man-cupsd.conf.html
http://cups.gcsysw.narkive.com/cCchvOZp/maximum-allowed-value-of-jobretrylimit-in-cupsd-conf


Set up printer queues on MES database server.

  • lpadmin -p z3200238 -v zebraReadQueue.bsh:XJ164000555 -o printer-error-policy=retry-job -E
  • lpadmin -p z3202446 -v zebraReadQueue.bsh:XJ162502344 -o printer-error-policy=retry-job -E

Edit /etc/cups/printers.conf and /etc/cups/cupsd.conf on MES database server to Share the Print Queues

Set up printer Queues on MES portal server to forward to MES database server

  • lpadmin -p z3200238 -v ipp:/(internal MES db ip)/printers/z3200238 -o printer-error-policy=retry-job -E
  • lpadmin -p z3202446 -v ipp:/(internal MES db ip)/printers/z3202446 -o printer-error-policy=retry-job -E

Test the print connections on MES portal and database servers

  • lpr -P z3200695 -o raw /home/user_name/zebra/labelW_Giolo_3x2.txt lpr -P z3202557 -o raw /home/user_name/zebra/labelW_Giolo_3x2.txt

 

Location of Zebra Setup Instructions

https://km.zebra.com/resources/sites/ZEBRA/content/live/WHITE_PAPERS/0/WH130/en_US/Weblink%20WebSocket%20Endpoint%20Configuration.pdf

https://www.google.com/  Search for zebra printer utilities.

https://www.google.com/url?sa=t&rct=j&q=&esrc=s&source=web&cd=7&cad=rja&uact=8&ved=0ahUKEwjpke35r4PSAhUU4GMKHaZvDkMQFghOMAY&url=https%3A%2F%2Fplay.google.com%2Fstore%2Fapps%2Fdetails%3Fid%3Dcom.zebra.printersetup%26hl%3Den&usg=AFQjCNF25Ga0AVEMoye2AgwsJGU_L9Omyg

https://play.google.com/store/apps/details?id=com.zebra.printersetup&hl=en

The Zebra SDK can be found at the site:

This Software Development Kit contains the zebra.war file at: ./link_od_sdk/Webservices/v2. https://www.zebra.com/us/en/products/software/barcode-printers/link-os/link-os-sdk.html This Software Development Kit contains the zebra.war file at: ./link_od_sdk/Webservices/v2.

for the linux installation kit to run the WebservicesDeveloperDemo locally like the one at:  http://weblink.cloudapp.net/, load the ZebraWebServicesDeveloperDemo. Tomcat webapps directory from the ./link_od_sdk/Webservices/v2. directory for the linux install. Run the following from your browser for external port defined for the connector in service.xml. https://MES_db_name:(assigned_port#)/ZebraWebServicesDeveloperDemo https://MES_db_name:(assigned_port#)/ZebraWebServicesDeveloperDemo/ https://MES_db_name:(assigned_port#)/ZebraWebServicesDeveloperDemo

Run https://server_name.domain_name.com:port_no/ZebraWebServicesDeveloperDemo The WebservicesDeveloperDemo code can be used to see if the printer is achieving a connection to the servlet on the 42Q server.

NOTE:

  • The SDK is supported on the following devices: PC operating systems using Java Runtime Environment (JRE) v1.6 and 1.7 My testing so far has shown that Java 1.8 seems to work as well for both Tomcat 7 and the Zebra SDK code.
  • Zebra cloud connect does NOT currently support Tomcat8!

16-Jan-2017 10:15:29.406 SEVERE [ContainerBackgroundProcessor[StandardEngine[Cat alina]]] org.apache.catalina.core.StandardContext.loadOnStartup Servlet [ZebraWe bLinkServlet] in web application [/zebra] threw load() exception java.lang.ClassNotFoundException: org.apache.catalina.websocket.WebSocketServlet Tomcat8 has modified websocket support to meet the definition in Websocket JSR 356 specification.

 

Zebra Printer Setup Information for Cloud-Connect Software

NOTE:  Note that new printers or printers experiencing trouble connecting should be upgraded to the latest firmware revision. New printers with extensive shelf life or older printers may not have the required firmware loaded for a weblink connection. Download the most current appropriate firmware for the printer and use the Zebra MS Windows Setup Utility to transfer the firmware file to the printer. The setup utility can be downloaded from the following site:

https://www.zebra.com/us/en/products/software/barcode-printers/zebralink/zebra-setup-utility.html

  • command set which allowed 172.24.42.172 (ZT410-600dpi) S/N=18J134700868 in Brazil to work with the Zebra weblink demo

! U1 setvar "weblink.logging.max_entries" "50" 

! U1 setvar "ip.dhcp.enable" "on" 

! U1 setvar "internal_wired.ip.protocol" "dhcp and bootp" 

! U1 setvar "internal_wired.ip.dns.servers" "146.116.92.199 146.116.92.200"

! U1 setvar "internal_wired.ip.dns.domain" "domain_name.com" 

! U1 setvar "weblink.ip.conn1.location" "https://weblink.cloudapp.net/zebra/weblink/

! U1 setvar "weblink.ip.conn1.proxy" "http://146.116.92.201:64000/

! U1 setvar "device.reset" ""

 

  • command set which allowed 172.24.42.172 (ZT410-600dpi) S/N=18J134700868 to work with the custom company websocket over sslvpn @ 146.164.24.105:17800 (device tun0)

! U1 setvar "weblink.logging.max_entries" "50" 

! U1 setvar "ip.dhcp.enable" "off" 

! U1 setvar "internal_wired.ip.protocol" "permanent" 

! U1 setvar "internal_wired.ip.dns.servers" "146.164.24.28" 

! U1 setvar "internal_wired.ip.dns.domain" "domain_name.com" 

! U1 setvar "weblink.ip.conn1.location" "https://server_name.domain_name.com:17800/zebra/weblink/

! U1 setvar "weblink.ip.conn1.proxy" "" 

! U1 setvar "device.reset" ""

 

  • commands to check zebra websocket connection configurations

! U1 getvar "ip.dhcp.enable" 

! U1 getvar "internal_wired.ip.protocol" 

! U1 getvar "internal_wired.ip.dns.servers" 

! U1 getvar "internal_wired.ip.dns.domain" 

! U1 getvar "weblink.ip.conn1.location" 

! U1 getvar "weblink.ip.conn1.proxy"

 

  • command set which allowed 192.168.1.8 (ZTC iMZ320-203dpi CPCL) S/N=XXJ162502557 to work with local network pc 192.168.1.2 thru gateway 192.168.1.1

! U1 setvar "weblink.logging.max_entries" "50" 

! U1 setvar "ip.dhcp.enable" "off" 

! U1 setvar "ip.dns.servers" "192.168.1.2" 

! U1 setvar "ip.dns.domain" "domain_name.com" 

! U1 setvar "weblink.ip.conn1.location" "https://server_name.domain_name.com:443/zebra/weblink/

! U1 setvar "weblink.ip.conn1.proxy" "" ! U1 setvar "device.reset" ""

 

  • device serial number value
  • sent:  ! U1 getvar "device.friendly_name"
  • received: "18J134700868"
  • sent:  ! U1 getvar "device.unique_id"
  • received: "18J134700868"

 

For Setup of ZTC iMZ320-203dpi CPCL Printers

update iMZ320 firmware from V73.19.15Z to V73.20.01Z 2/2/2017 10:16:00 CST https://www.zebra.com/us/en/support-downloads/printers/mobile/imz320.html

Set Variables

! U1 setvar "rtc.timezone" "CST6CDT5,M3.2.0/02,M11.1.0/02" 

! U1 setvar "rtc.date" "02-20-2017" 

! U1 setvar "rtc.time" "14:01:00" ! U1 setvar "ip.dhcp.enable" "on" 

! U1 setvar "ip.dns.servers" "8.8.8.8" ! U1 setvar "ip.dns.domain" "domain_name.com" 

! U1 setvar "weblink.zebra_connector.enable" "off" 

! U1 setvar "weblink.ip.conn1.location" "https://server_name.domain_name.com:(external_port#)/zebra/weblink/

! U1 setvar "weblink.ip.conn1.proxy" "" 

! U1 setvar "weblink.logging.max_entries" "50" 

! U1 setvar "weblink.enable" "on" 

! U1 setvar "device.friendly_name" "z3200233" 

! U1 setvar "device.unique_id" "XJ164000448" 

! U1 setvar "device.languages" "hybrid_xml_zpl" 

! U1 setvar "device.reset" ""

 

Review Set Variables

! U1 getvar "rtc.timezone" 

! U1 getvar "rtc.date" 

! U1 getvar "rtc.time" 

! U1 getvar "ip.dhcp.enable" 

! U1 getvar "ip.dns.servers" 

! U1 getvar "ip.dns.domain" 

! U1 getvar "weblink.zebra_connector.enable" 

! U1 getvar "weblink.ip.conn1.location" 

! U1 getvar "weblink.ip.conn1.proxy" 

! U1 getvar "weblink.logging.max_entries" 

! U1 getvar "weblink.enable" 

! U1 getvar "device.friendly_name" 

! U1 getvar "device.unique_id" 

! U1 getvar "device.languages"

 

  1. original form feed configuration for ZTC iMZ320-203dpi CPCL

! U1 setvar "zpl.label_length" "203"

 

  1. form feed configuration to test with ZTC iMZ320-203dpi CPCL to prevent paper waste

! U1 setvar "zpl.label_length" "50"

 

NOTE: For the zt410, hard-wired ethernet statements are different, such as:

! U1 setvar "internal_wired.ip.protocol" "dhcp and bootp" 

! U1 setvar "internal_wired.ip.dns. 

! U1 setvar "internal_wired.ip.dns.domain" "domain_name.com"

The hibernation/sleep/suspend mode of the mobile printers may need to be disabled, especially for demonstrations. This was done for the iMZ320 printers that Zebra sales demoed with.

! U1 setvar "power.low_battery_timeout" "0" ! U1 setvar "power.inactivity_timeout" "0"


 

 

Setting the Inactvity Timeout on Mobile Printers https://km.zebra.com/kb/index?page=content&id=SO7720&actp=LIST

 

Timezone Settings

If the user might need to assign a different timezone for North America see pg 875 of the following pdf :

https://www.zebra.com/content/dam/zebra/manuals/en-us/software/zpl-zbi2-pm-en.pdf


Example: If you live in New York in the United States, in the Eastern Time zone, your setvar string may look like:

• ! U1 setvar "rtc.timezone" "EST5EDT4,M3.2.0/02:00:00,M11.

The "value" string can be translated as follows:

EST5 (Eastern Standard Time; 5 hours off UTC), EDT4 (Eastern Daylight Time; 4 hours off UTC), running from 2AM (/02; fully qualified: /02:00:00) from the second Sunday in March (M3.2.0/02) through 2AM (/02; fully qualified: /02:00:00) on the first Sunday in November (M11.1.0/02). M indicates the Month follows, followed by the two-digit month, the week (1 is the first week in which the specified weekday occurs, and 5 indicates the last week of the month with that weekday) and the weekday (0 is Sunday). The time starts with a slash, and unspecified trailing fields default to zero.

Other examples for locations in the United States:

• US Central:  

! U1 setvar "rtc.timezone" "CST6CDT5,M3.2.0/02,M11.1.0/ • US Mountain: 

! U1 setvar "rtc.timezone" "MST7MDT6,M3.2.0/02,M11.1.0/ • US Pacific:  

! U1 setvar "rtc.timezone" "PST8PDT7,M3.2.0/02,M11.1.0/ • US Alaska:  

! U1 setvar "rtc.timezone" "AST9ADT8,M3.2.0/02,M11.1.0/ • US Hawaii:  

! U1 setvar "rtc.timezone" "HST10"


For additional time zones please reference http://www.iana.org/time-zones per the aforementioned pdf.

 

URLs on how to fix and build ssldump for tls1 debugging:

https://sourceforge.net/p/ssldump/patches/

https://sourceforge.net/p/ssldump/patches/1/

https://sourceforge.net/p/ssldump/patches/8/

http://stackoverflow.com/questions/29909358/building-ssldump-on-ubuntu/30165515#30165515 http://unix.stackexchange.com/questions/110397/ssldump-pcap-syntax-error

http://ssldump.sourceforge.net/TROUBLESHOOTING

https://devcentral.f5.com/articles/giving-back-to-the-dev-community-ssldump-data-decrypt

https://support.f5.com/csp/article/K10209

https://support.f5.com/csp/article/K15292

http://www.backtrack-linux.org/forums/showthread.php?t=5433

http://www.backtrack-linux.org/forums/archive/index.php/t-4767.html

 

openssl debug statements

  • openssl s_client -tls1 -cipher ECDHE-RSA-AES128-SHA -servername server_name.domain_name.com -connect server_name.domain_name.com:8443 -debug
  • openssl s_client -showcerts -tls1 -cipher ECDHE-RSA-AES256-SHA -connect weblink.cloudapp.net:443 -debug
  • openssl s_client -tls1 -cipher AES256-SHA -connect weblink.cloudapp.net:443 -debug
  • sudo /data2/development/ssldump/ssldump-0.9b3.modi/ssldump -k /home/user_name/development/cloudprint/zebra/python/zebra_certs/server_name.domain_name.com.key -a -A -H -i tun0 -dXnq host 148.164.25.94 and port 443
  • sudo /usr/local/ssldump-0.3-with-tsl-patch/sbin/ssldump -k /home/user_name/development/cloudprint/zebra/python/zebra_certs/server_name.domain_name.com.key -a -A -H -i tun0 -dXnq host 148.164.25.94 and port 443
  • sudo /usr/local/ssldump-0.9b3-with-tsl-patch/sbin/ssldump -k /home/user_name/development/cloudprint/zebra/python/zebra_certs/server_name.domain_name.com.key -a -A -H -i lo -dXnq host 127.0.0.1 and port 443
  • sudo /data2/openssl/openssl-0.9.8m/apps/openssl s_server -msg -tls1 -cipher AES256-SHA -CApath /etc/ssl/certs -cert /home/user_name/development/cloudprint/zebra/python/zebra_certs/server_name.domain_name.com.cer -key /home/user_name/development/cloudprint/zebra/python/zebra_certs/server_name.domain_name.com.key -accept 443 -debug

 

 

 

Revision History

Date Author Title Version Change Reference
2/20/17 Eric Richardson Principal Software Analyst 1.0 Original Document Creation
2/21/17 Benjamin Cavanaugh Technical Writer 1.0 Revision and Upload to Wiki