__ __ __ __ _____ _ _ _____ _ _ _ | \/ | \ \ / / | __ \ (_) | | / ____| | | | | | \ / |_ __\ V / | |__) | __ ___ ____ _| |_ ___ | (___ | |__ ___| | | | |\/| | '__|> < | ___/ '__| \ \ / / _` | __/ _ \ \___ \| '_ \ / _ \ | | | | | | |_ / . \ | | | | | |\ V / (_| | || __/ ____) | | | | __/ | | |_| |_|_(_)_/ \_\ |_| |_| |_| \_/ \__,_|\__\___| |_____/|_| |_|\___V 2.1 if you need WebShell for Seo everyday contact me on Telegram Telegram Address : @jackleetFor_More_Tools:
#!/bin/sh
# hplj1000:
# hplj1005:
# hplj1018:
# hplj1020:
# hpljP1005:
# hpljP1006:
# hpljP1007:
# hpljP1008:
# hpljP1505:
#
# Hotplug script for HP *1??? USB laser printers. The model number
# that this script deals with is determined from the script name.
#
# Used to download firmware automatically into the printer when it
# is powered up or plugged into the USB port.
#
# Also, run this script once with the magic argument "install-usermap"
# to create the proper entry in the /etc/hotplug/usb.usermap file.
#
# The inspiration fo this script is from:
# Oscar Santacreu. Alicante-Spain (2002)
# Mike Morgan (2004)
#
PROGNAME="$0"
#
# Wait some time before installing the firmware so that probing for
# automatic printer setup which happens immediately after turning on
# the printer does not interfere with the firmware transfer to the
# printer
# https://bugs.launchpad.net/ubuntu/+source/foo2zjs/+bug/543177
#
sleep 3
#
# Set $DEV to, e.g. /dev/usb/lp0, to force the device you want
# Else, leave it null to automatically detect the device
#
DEV=/dev/usb/lp0
DEV=""
#
# Path to the USB CUPS backend. We use this backend to upload the firmware
# into the printer when we are on a CUPS/libusb-based system.
#
USB_BACKEND=/usr/lib/cups/backend/usb
#
# Directory to find downloadable HP firmware files sihpMMMM.dl
#
FWDIR=/var/lib/foo2zjs/firmware
#
# Program used to determine USB printer id information
#
# NOTE: /usr/bin is NOT mounted at this point
#
# e.g. /etc/rc.sysinit:
# /sbin/start_udev
# [snip]
# # Mount all other filesystems (except for NFS and /proc, which is already
#
PRINTERID=`which usb_printerid`
#
# Figure out how to log our messages
#
if [ -t 1 ]; then
# Running from a tty...
log() {
echo "$PROGNAME: foo2zjs: $@"
}
elif [ -x /usr/bin/logger ]; then
# Have logger...
log() {
logger -t "$PROGNAME" -- "foo2zjs: $@"
}
else
# No logger...
log() {
echo "$PROGNAME: foo2zjs: $@" >> /var/log/messages
}
fi
#
# Figure out the model number from the name of this script
#
case "$0" in
*P1005)
MODEL=P1005; FWMODEL=$MODEL
USB1=0x03f0 #Vendor
USB2=0x3d17 #Model
;;
*P1006)
MODEL=P1006; FWMODEL=$MODEL
USB1=0x03f0 #Vendor
USB2=0x3e17 #Model
;;
*P1007)
MODEL=P1007; FWMODEL=P1005 # Alias
USB1=0x03f0 #Vendor
USB2=0x4817 #Model
;;
*P1008)
MODEL=P1008; FWMODEL=P1006 # Alias
USB1=0x03f0 #Vendor
USB2=0x4917 #Model
;;
*P1505)
MODEL=P1505; FWMODEL=$MODEL
USB1=0x03f0 #Vendor
USB2=0x3f17 #Model
;;
*P1505n)
MODEL=P1505n; FWMODEL=$MODEL
USB1=0x03f0 #Vendor
USB2=0x4017 #Model
;;
*1000)
MODEL=1000; FWMODEL=$MODEL
USB1=0x03f0 #Vendor
USB2=0x0517 #Model
;;
*1005)
MODEL=1005; FWMODEL=$MODEL
USB1=0x03f0 #Vendor
USB2=0x1317 #Model
;;
*1018)
MODEL=1018; FWMODEL=$MODEL
USB1=0x03f0 #Vendor
USB2=0x4117 #Model
;;
*1020)
MODEL=1020; FWMODEL=$MODEL
USB1=0x03f0 #Vendor
USB2=0x2b17 #Model
;;
*)
log "Only HP LaserJet 100[05],1018,1020,P100[5678],P1505 are supported"
exit
;;
esac
#
# The special command line argument "install-usermap" will install
# the proper entry into the /etc/hotplug/usb.usermap file
#
case "$1" in
install-usermap)
if [ "$USB2" != "" ]; then
if [ -w /etc/hotplug/usb.usermap ]; then
USERMAP=/etc/hotplug/usb.usermap
elif [ -d /etc/hotplug/usb/ ]; then
USERMAP=/etc/hotplug/usb/foo2zjs.usermap
if [ ! -s $USERMAP ]; then
echo > $USERMAP
fi
else
log "No /etc/hotplug usermap!"
exit
fi
chmod 664 $USERMAP
ex - $USERMAP <<-EOF
g/^hplj$MODEL/d
\$a
hplj$MODEL 0x0003 $USB1 $USB2 0x0000 0x0000 0x00 0x00 0x00 0x00 0x00 0x00 0x00000000
.
w
q
EOF
else
log "I don't know the USB info for this model yet. Please run"
log "usb_printerid on the usb device and send the output to:"
log "[email protected]"
fi
exit 0
;;
install-usblp)
for f in /etc/modprobe.d/blacklist*; do
if grep -s -q usblp $f; then
ed - $f <<-EOF
g/^blacklist.*usblp/d
w
q
EOF
#echo $f
/sbin/modprobe usblp
fi
done
exit 0
;;
esac
#
# Procedures to load a single device with firmware
#
load_usblp() {
_dev="$1"
fw="$FWDIR/sihp$FWMODEL.dl"
if [ ! -f "$fw" ]; then
log "Missing HP LaserJet $MODEL firmware file $fw"
log "...read foo2zjs installation instructions and run ./getweb $MODEL"
return 1
fi
log "loading HP LaserJet $MODEL firmware $fw to $_dev ..."
# There is a timeout problem with udev and FC4, so spin it off.
(
if cat $fw > $_dev; then
log "... download successful."
else
log "... download failed."
fi
) &
return 0
}
load_cups() {
fw="$FWDIR/sihp$FWMODEL.dl"
if [ ! -f "$fw" ]; then
log "Missing HP LaserJet $MODEL firmware file $fw"
log "...read foo2zjs installation instructions and run ./getweb $MODEL"
return 1
fi
# There is a timeout problem with udev and FC4, so spin it off.
(
device_found=0
for uri in `$USB_BACKEND 2> /dev/null | grep -i 'HP.*LaserJet.*'"$MODEL" | grep -v FWVER | cut -d ' ' -f 2`; do
log "loading HP LaserJet $MODEL firmware $fw to CUPS USB device ..."
device_found=1
if DEVICE_URI="$uri" $USB_BACKEND 1 1 1 1 '' $fw 2> /dev/null; then
log "$uri... download successful."
else
log "$uri... download failed."
fi
done
) &
return 0
}
#
# Add a sleep
#
sleep 3
#
# OK, now download firmware to any printers that need it
#
if [ "$DEV" != "" ]; then
#
# force downloading to a specific device
#
if [ "$SUBSYSTEM" != "usbmisc" ]; then exit; fi
load_usblp "$DEV"
elif [ -x $USB_BACKEND ]; then
#
# If we have CUPS installed, use the CUPS "usb" backend, as then we do
# not need to care whether the system uses the usblp kernel module or
# libusb
#
if [ "$SUBSYSTEM" != "usb" ]; then exit; fi
load_cups
elif [ -x $PRINTERID ]; then
#
# Sniff around for printers that need a firmware download
#
if [ "$SUBSYSTEM" != "usbmisc" ]; then exit; fi
usblps=`find /dev/usb -type c -name 'lp*'`" "`find /dev -type c -name 'usblp*'`
for dev in $usblps; do
status=`$PRINTERID $dev 2>/dev/null | grep -y "hp LaserJet $MODEL"`
if [ "$status" != "" ]; then
# This is a LaserJet 100x
chmod 0666 $dev
status=`$PRINTERID $dev | grep 'FWVER'`
if [ "$status" = "" ]; then
# Firmware is not yet loaded
load_usblp "$dev"
else
log "HP LaserJet $MODEL firmware already loaded into $dev"
fi
fi
done
else
log "HP LaserJet $MODEL firmware was not downloaded..."
log "...couldn't find $PRINTERID, DEV is not set, and CUPS not installed."
fi
| Name | Type | Size | Permission | Actions |
|---|---|---|---|---|
| hwdb.d | Folder | 0755 |
|
|
| rules.d | Folder | 0755 |
|
|
| ata_id | File | 18.44 KB | 0755 |
|
| cdrom_id | File | 30.44 KB | 0755 |
|
| dmi_memory_id | File | 26.44 KB | 0755 |
|
| fido_id | File | 18.44 KB | 0755 |
|
| hdparm | File | 1.37 KB | 0755 |
|
| hid2hci | File | 14.45 KB | 0755 |
|
| hplj1000 | File | 6.56 KB | 0755 |
|
| hplj1005 | File | 6.56 KB | 0755 |
|
| hplj1018 | File | 6.56 KB | 0755 |
|
| hplj1020 | File | 6.56 KB | 0755 |
|
| hpljP1005 | File | 6.56 KB | 0755 |
|
| hpljP1006 | File | 6.56 KB | 0755 |
|
| hpljP1007 | File | 6.56 KB | 0755 |
|
| hpljP1008 | File | 6.56 KB | 0755 |
|
| hpljP1505 | File | 6.56 KB | 0755 |
|
| hpljP1505n | File | 6.56 KB | 0755 |
|
| hwdb.bin | File | 12.75 MB | 0444 |
|
| iocost | File | 22.55 KB | 0755 |
|
| iphone-set-info | File | 18.38 KB | 0755 |
|
| ipod-set-info | File | 42.46 KB | 0755 |
|
| libinput-device-group | File | 18.38 KB | 0755 |
|
| libinput-fuzz-extract | File | 14.38 KB | 0755 |
|
| libinput-fuzz-to-zero | File | 14.38 KB | 0755 |
|
| mtd_probe | File | 14.44 KB | 0755 |
|
| mtp-probe | File | 14.23 KB | 0755 |
|
| pcmcia-check-broken-cis | File | 14.53 KB | 0755 |
|
| pcmcia-socket-startup | File | 22.45 KB | 0755 |
|
| scsi_id | File | 34.99 KB | 0755 |
|
| snappy-app-dev | File | 22.3 KB | 0755 |
|
| udev-add-printer | File | 8.9 KB | 0755 |
|
| udev-configure-printer | File | 42.3 KB | 0755 |
|
| usb_modeswitch | File | 1.53 KB | 0755 |
|
| v4l_id | File | 14.44 KB | 0755 |
|