Skip to content

Instantly share code, notes, and snippets.

@fnando
Last active April 20, 2022 19:54
Show Gist options
  • Save fnando/57bf12ada2e79b32169918850c813806 to your computer and use it in GitHub Desktop.
Save fnando/57bf12ada2e79b32169918850c813806 to your computer and use it in GitHub Desktop.
HP P1109w: changing wifi settings

HP P1109w: Changing wifi settings

Requirements

Make sure you have httpie installed. If you're using homebrew, you can easily do it so with:

brew install httpie

Start the web server

All changes are performed through a local web server. To start it, run the following command:

"/Library/Printers/hp/laserjet/p1100_1560_1600series/HP LaserJet Professional Utility.app/Contents/MacOS/HtmlConfig" 1008 4138

This command will open a page on your default browser, that may or may not load.

Updating wifi settings

With your printer connected via USB and with the web server running, issue the following command:

http --form POST 'http://localhost:5050/cgi-bin/ip_wireless_result.htm' 'ID 207'=1 'ID 208'=1 'ID 216'='WIFI NETWORK NAME' 'ID 217'=2 'ID 219'='WIFI PASSWORD' 

These are the fields you can use:

  • ID 208 = Enable wireless (0 disabled, 1 enabled)
  • ID 216 = Network name
  • ID 217 = Security Mode (0 no auth, 1 = WEP, 2 = WPA/WPA2)
  • ID 219 = Wifi password

Updating Bonjour settings

This is required if you want to use AirPrint with your Apple devices. With your printer connected via USB and with the web server running, issue the following command:

http --form POST 'http://localhost:5050/cgi-bin/ip_bonjour_result.htm' 'ID_b 168'=1 'ID 167'='Printer'

These are the fields you can use:

  • ID_b 168 = Enable bonjour (0 disabled, 1 enabled)
  • ID 167 = Bonjour name

Update network settings

With your printer connected via USB and with the web server running, issue the following command:

http --form POST 'http://localhost:5050/cgi-bin/ip_config_result.htm' 'ID 139'='Printer' 'ID_b 148.0'=14 'ID 151'=1 'ID_b 148.1'=2 'ID_b 148.1'=8

These are the fields you can use:

  • ID 139 = Hostname
  • ID_b 148.0 - IP address (14 automatic)
  • ID 151 = Enable WINS Server (0 disabled, 1 enabled)
  • ID_b 148.1 = DHCP (2 to enable)
  • ID_b 148.1 = AutoIp (8 to enable)

IPv6 settings

With your printer connected via USB and with the web server running, issue the following command:

http --form POST 'http://localhost:5050/cgi-bin/ipv6_result.htm' 'ID 139'='Printer' 'ID_b 180'=1

These are the fields you can use:

  • ID 139 = Hostname
  • ID_b 180 = Enable IPv6 (0 disabled, 1 enabled)

Settings pages

@joan0fsnark
Copy link

Wow, I cannot thank you enough for this extremely helpful guide! This printer is great, but annoyingly keeps forgetting its settings or something every 18 months or so and I'm having to do this all over again. 😅

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment