HP Printers with "Smart Installer" are recognized as CD-ROM drive

Bug #813482 reported by Dhiraj Kumar Hazra on 2011-07-20
24
This bug affects 3 people
Affects Status Importance Assigned to Milestone
HPLIP
Undecided
Sanjay Kumar
hplip (Ubuntu)
Medium
Till Kamppeter
usb-modeswitch (Ubuntu)
Medium
Unassigned

Bug Description

I am using Ubuntu 10.04.2
========================================
uname -a
Linux dhruva 2.6.32-33-generic #70-Ubuntu SMP Thu Jul 7 21:13:52 UTC 2011 x86_64 GNU/Linux
========================================
dpkg -l hplip
Desired=Unknown/Install/Remove/Purge/Hold
| Status=Not/Inst/Cfg-files/Unpacked/Failed-cfg/Half-inst/trig-aWait/Trig-pend
|/ Err?=(none)/Reinst-required (Status,Err: uppercase=bad)
||/ Name Version Description
+++-==============-==============-============================================
ii hplip 3.10.2-2ubuntu HP Linux Printing and Imaging System (HPLIP)

========================================
I have a hp laserjet M1136 MFP printer. This has the printing , scanning and photocopy functionality. It was first installed as M1005 MFP and it could do the printing. But the scanner was not working.
To make this work I had to install hplip-3.11.5 as described here.
http://hplipopensource.com/hplip-web/models/laserjet/hp_laserjet_professional_m1136_mfp.html
I followed the instruction. After the reboot it could detect the device but was unable to download the binary plugin from http://hplipopensource.com/

I tried to install it again and after restart it detects the printer as a cdrom which contains these files
================
autorun.inf product_version SISetup.exe
internalsw.exe properties.ini Strings.dll
================
This time I tried installing with sudo. After that I tried many times installing and reinstalling hplips without success.
================
Can anyone help me in this regard ?

Thanks in advance
Dhiraj Kumar Hazra

I am attaching the installation history i.e. dpkg.log of today

Till Kamppeter (till-kamppeter) wrote :

This is looks like a CD-less in-device driver delivery like with USB modems for cell phone internet access. Perhaps this printer needs to get controlled by usb-modeswitch.

goutam kodu (goutam-hplip) wrote :

Hi Dhiraj,

Can you please post us the out-put of "hp-check -t" command.

Thanks & Regards,
Goutam Kodu

Attaching the output of hpcheck -t

goutam kodu (goutam-hplip) wrote :

Hi Dhiraj,

Thanks for the hp-check out-put.
There is one missing dependence Python-dev package is not installed . Can you please install it. I dont think this missing dependent would be causing this problem.

Can you try this one more time. Please connect the device to another USB port of your system. Reboot both your PC and the printer. Run command "lsusb" and check whether your printer is detected as a USB device ( it will be detected by the name Hewlett-Packard ). You can attach me the results of it "lsusb" here.

If the printer is detected by the USB port then please run the command "hp-setup -g" and past the output of this command here.

Let me know on the same.

Thanks & Regards,
Goutam Kodu

Hello Goutam,

   Thanks for your help. I have installed the package you asked me to. I have intentionally deleted that to get at least my printer back. If during reboot I plug the printer in a different port it can locate it as a printer. I have run the hp setup and installed the plugin it asks me for and the printing and scanning worked perfectly

 The problem is that every time I reboot I need to plugin the printer in a different port and set up the printer and delete the previous printer entires.

  I have added the hp-setup -g when it detects the printer.

====================================================
hp-setup -g

HP Linux Imaging and Printing System (ver. 3.11.5)
Printer/Fax Setup Utility ver. 9.0

Copyright (c) 2001-9 Hewlett-Packard Development Company, LP
This software comes with ABSOLUTELY NO WARRANTY.
This is free software, and you are welcome to distribute it
under certain conditions. See COPYING file for more details.

hp-setup[2217]: debug: param=
hp-setup[2217]: debug: selected_device_name=None
hp-setup[2217]: debug: Sys.argv=['/usr/bin/hp-setup', '-g'] printer_name=None param= jd_port=1 device_uri=None remove=False
hp-setup[2217]: debug: Starting GUI loop...
Searching... (bus=usb, search=(None), desc=0)
hp-setup[2217]: debug: Probing bus: usb
hp-setup[2217]: debug: hp:/usb/HP_LaserJet_Professional_M1136_MFP?serial=000000000QH43X1CSI1c
hp-setup[2217]: debug: hp:/usb/HP_LaserJet_Professional_M1136_MFP?serial=000000000QH43X1CSI1c: back_end:hp is_hp:True bus:usb model:HP_LaserJet_Professional_M1136_MFP serial:000000000QH43X1CSI1c dev_file: host: zc: port:1
hp-setup[2217]: debug: Cache miss: hp_laserjet_professional_m1136_mfp
hp-setup[2217]: debug: Reading file: /usr/share/hplip/data/models/models.dat
hp-setup[2217]: debug: Searching for section [hp_laserjet_professional_m1136_mfp] in file /usr/share/hplip/data/models/models.dat
hp-setup[2217]: debug: Found section [hp_laserjet_professional_m1136_mfp] in file /usr/share/hplip/data/models/models.dat
hp-setup[2217]: debug: hp:/usb/HP_LaserJet_Professional_M1136_MFP?serial=000000000QH43X1CSI1c: back_end:hp is_hp:True bus:usb model:HP_LaserJet_Professional_M1136_MFP serial:000000000QH43X1CSI1c dev_file: host: zc: port:1
======================================================

check the penultimate comment in the post
http://www.linuxgator.org/gnome/forum/viewtopic.php?f=19&t=3386

looks like usb_modeswitch problem/bug, Is there any straightforward way to permanently disable the cdrom entry from the printer?

Thanks again for the help
dhiraj

Srikanth (srikanth-lokare) wrote :

Hi Dhiraj,

Smart Installer is enabled in your device. If this is enabled, your device will be detected as CDRom from where you can install the software on windows. Unfortunately we don't support this feature in Linux. If you disable this feature on device, your device will be detected in Linux. To disable this you should have a windows machine and can follow the below steps.

1. Download the Full Driver for Windows from www.hp.com or http://h10025.www1.hp.com/ewfrf/wc/softwareCategory?product=4075452&lc=en&cc=us&dlc=en&lang=en&cc=us
2. Run the exe, extract it to a folder.
3. Go to extracted folder/UTIL directory
4. Connect your device.
5. Run SIUtility.exe and follow the wizard to disable the feature.

Thanks and Regards,
Srikanth Lokare

Till Kamppeter (till-kamppeter) wrote :

To the HPLIP developers at HP: We need a Linux solution for deactivating Smart Installer, so that the user does not need a Windows machine to "activate" the newer HP printers.

For USB cell phone network modems with such a driver delivery facility there is already usb-modeswitch. Perhaps this utility can also be used for HP printers after some additional configuration and or patching.

summary: - hp laserjet M1136 MFP is detected as CDROM drive
+ HP Printers with "Smart Installer" are recognized as CD-ROM drive
Didier Raboud (odyx) wrote :

usb-modeswitch-data 20110619-1 is supposed to handle some HP printers. According to its changelog:

     + New devices
      [03f0:002a] HP LaserJet Professional P1102

So switching those is probably just a matter of "finding/providing" the configuration data to usb-modeswitch-data.

affects: usb-modeswitch (Ubuntu) → usb-modeswitch-data (Ubuntu)

Great to hear that. What data from/about the printer usb-modeswitch exactly needs?

Changed in hplip:
status: New → In Progress
Didier Raboud (odyx) wrote :

Hi Till,

what usb-modeswitch needs is a configuration file such as the 03f0:002a from the usb-modeswitch-data source:

> #######################################################
> # HP LaserJet Professional P1102
>
> DefaultVendor= 0x03f0
> DefaultProduct=0x002a
>
> TargetClass=0x07
>
> MessageContent="555342431234567800000000000006d0000000000000000000000000000000"
> NeedResponse=1
>
> CheckSuccess=20

So what is needed is the source identifiers, the target identifiers and class (sometimes the switching process changes those) and the USB message content. More information about how to find this is available on the usb-modeswitch website: http://www.draisberghof.de/usb_modeswitch/

Changed in hplip:
assignee: nobody → Sanjay Kumar (sanjay-kumar14)
Changed in hplip (Ubuntu):
importance: Undecided → Medium
Changed in usb-modeswitch-data (Ubuntu):
importance: Undecided → Medium

Probably only adding modeswitch data to the hplip package is needed, perhaps the usb-modeswitch or usb-modeswitch-data packages do not need any change.

Mathieu, is the usb-modeswitch package prepared to use modeswitch data provided by any other arbitrary package, like hplip? Where do I need to instalkl the data files then? If not, can you prepare usb-modeswitch to accepty modeswitch data from other packages? Thanks.

Changed in hplip (Ubuntu):
assignee: nobody → Till Kamppeter (till-kamppeter)
Changed in usb-modeswitch-data (Ubuntu):
assignee: nobody → Mathieu Trudel-Lapierre (mathieu-tl)
Martin Pitt (pitti) on 2011-11-11
affects: usb-modeswitch-data (Ubuntu) → usb-modeswitch (Ubuntu)
Didier Raboud (odyx) wrote :

Till: usb-modeswitch is currently designed only together with usb-modeswitch-data in mind: user-provided configuration snippets under /etc/usb_modewitch.d will take precedence over the ones shipped in the /usr/share/usb_modeswitch/configPack.tar.gz provided by usb-modeswitch-data. /etc/usb_modeswitch.d is not supposed to be used for packaged files.

My opinion is that those types of data (even for printers) should not be be shipped by distributions anywhere else than in their usb-modeswitch-data package: this avoids spread and duplication risk (+ the -data package is currently 29 kio, not a problem).

Unassigning: I don't have that hardware, and we'll need at least that to figure out the MessageContent value and USB IDs before anything can be done to accomodate this hardware (if it's not already covered by usb-modeswitch-data). Only then we'll be able to add a file to usb-modeswitch. Both the Debian maintainer and upstream developer are subscribed, so this can easily land upstream :)

Ideally, someone running into this issue should try to snoop the traffic from USB as the printer is connected to a Windows system, with a USB packet capture tool such as SnoopyPro. (or we can get the necessary values from HP engineers or from looking at hp-setup?)

Changed in usb-modeswitch (Ubuntu):
assignee: Mathieu Trudel-Lapierre (mathieu-tl) → nobody
Launchpad Janitor (janitor) wrote :

Status changed to 'Confirmed' because the bug affects multiple users.

Changed in hplip (Ubuntu):
status: New → Confirmed
Changed in usb-modeswitch (Ubuntu):
status: New → Confirmed

goutam kodu, Sanjay Kumar, any progress on this? We need the usb-modeswitch data (see comment #11) for all HP printers with Smart Installer.

Josua Dietze (digidietze) wrote :

Before doing the whole "sniff-on-the-MSWindows-driver routine", it may be useful to try the known mode-switch data for a device family.

I suggest adapting the existing configuration (LaserJet P1102) to the device IDs of the printer in question - and just see if it's working.

johanpdx (johanpdx) wrote :

I am sitting here in a small town in Russia with no Windows computer in sight and looking at a bright new HP laserJet that I can't use. The public end-user Web sites such as https://wiki.ubuntu.com/DebuggingPrintingProblems and http://hplipopensource.com/hplip-web/index.html don't mention this crucial issue. I've heard that the latest version of HPLIP has a fix but I see no way to access it. I hear hints of a solution regarding usb-modeswitch, but it's all at tech level.

1) Is there anyone who can advise me in plain English?

2) Shouldn't this issue be more prominent up front for ordinary users of the equipment? At least at hplipopensource.com/hplip-web/index.html

Thanks!

PS: Youl know, I left the world of Windows for Linux precisely because this sort of thing doesn't happen! Now I have to eat a of Russian crow in front of my friends.

Josua Dietze (digidietze) wrote :

I did not see the bug reporter or any other HP owner contributing his/her configuration.

The consequence is that we are stuck with the existing files for HP devices' mode-switching. I can maintain usb_modeswitch upstream, but I can't buy all that hardware for testing. So much for ranting.

To solve your problem at hand: adapting existing configurations MAY work. Please provide the USB ID of the printer after plugging it in and being able to access the pseudo "installer disk". You know the "lsusb" command, right?

johanpdx (johanpdx) wrote :

Hello and I understand your rant!! HP itself says that HPLIP helps connect with over 2000 printers ... and I see that usb_modeswitching is equally important in the world of mobile/cellular devices.....

USB ID from lsusb command is this, right?

> Bus 001 Device 017: ID 03f0:042a Hewlett-Packard

johanpdx (johanpdx) wrote :

By the way, follow my launchpad ID to see the rest of my whining, including a couple of text files of command outputs and logs. For example, https://bugs.launchpad.net/hplip/+bug/1038885

I feel very ignorant when I review the rabbit trails I've already followed in trying to feel my way forward. *sigh*

Josua Dietze (digidietze) wrote :

O.K., I assume you have the "usb-modeswitch" and "usb-modeswitch-data" package installed.

Now you have to do two things:

1. Edit "/lib/udev/rules.d/40-usb_modeswitch.rules" and add a line for your device. There is one in there already for a printer with ID 03f0:002a; you can just copy it and change the product ID to "042a".

2. Add a file named "03f0:042a" to the folder "/etc/usb_modeswitch.d"; this is the content:

------------------------------
# Bright New HP LaserJet

TargetClass=0x07

MessageContent="555342431234567800000000000006d0000000000000000000000000000000"
NeedResponse=1
------------------------------

See if there are any changes after re-plugging.

johanpdx (johanpdx) wrote :

Yes, I installed those based on instructions from here: http://www.draisberghof.de/usb_modeswitch/

(I don't know what this is all about... "Important: if you install this way, you will need the 'tcl' package for the large dispatcher script.") I got an error message about some kind of translator at some point. OK, now to do what you advise...

Josua Dietze (digidietze) wrote :

If I were you, I'd first use the unchanged Ubuntu packages for 12.04; you can use the upstream source package as well but then you'll need packages "libusb-dev" and "tcl" (or "jimtcl") for installation.

johanpdx (johanpdx) wrote :

So far no change. I edited or added those files (no problem) and rebooted and reconnected the printer. Command 'lsusb' shows the device but HPLIP gives the same communication errors. I deleted the printer and reinstalled it by manually specifying the USB bus and device numbers, and it added the computer along with its .ppd file, but no change.

While you think it over (to my great gratitude) I'll try a long shot: running SIUtility.exe in Wine. I don't think it will work because HPInstall in Wine didn't see the printer.

johanpdx (johanpdx) wrote :

Sorry, I meant "it added the PRINTER along with its .ppd file"...

No luck with SIUtility.exe -- it opened without problem but it didn't see the printer.

johanpdx (johanpdx) wrote :

New development: After making the changes you and Draisberghof suggested, I reconnected the printer yet again. Still has communication errors, still won't print, but this is the first time the computer voluntarily added the printer without my needing to insert bus and device numbers manually through HPLIP or CUPS/browser.

Josua Dietze (digidietze) wrote :

That's probably because the USB printer driver was loaded which in turn means that at least the mode switch was successful.

To see in more detail what is happening when you re-plug the printer, call the "dmesg" shell command afterwards.

For printing, you might have to ask at a different place; I don't know anything about that. Just to clear things up: me and Draisberghof are identical ... It's my web site.

johanpdx (johanpdx) wrote :

Hello! Congratulations--it's a clear and friendly and accessible site; doesn't make a mere user like me feel like an idiot!

I have a confession to make. I remembered that I have a friend with a netbook running Windows. She came for tea, brought her netbook and CD-ROM drive. We browsed the contents of the HP installation disk and found the SIUtility.exe program in the UTILS folder on that disk. We connected her netbook to my printer and ran that program--it runs by itself, doesn't require installation--and when it asked whether we wanted to disable "SMART INSTALL" on the computer or on the printer, we pushed the PRINTER button.

By that time I had made so many changes to various configurations on my Ubuntu installation in search of a non-Windows solution that I decided to make a clean OS install. This time I installed Linux Mint 13 (Cinnamon desktop), as I had originally planned to do when all this misery started. I then installed HPLIP in custom mode and plugged in my printer/scanner, and now it prints and scans effortlessly.

I'm sorry that I didn't have the patience to continue my search for a pure non-Windows solution, but I devoted many hours to the attempt.

Changed in hplip:
status: In Progress → Fix Committed
Changed in hplip:
status: Fix Committed → Fix Released
To post a comment you must log in.
This report contains Public information  Edit
Everyone can see this information.

Other bug subscribers