How to swith LJ Professional P1102 to USB printer mode from USB mass storage mode?

Asked by David Jaša on 2010-10-18

I'm trying to use brand-new HP LaserJet Professional with Linux but it doesn't recognize it. The lsusb output suggests that it is in fake USB cdrom mode (that allows cdrom-free install on Windows):

# lsusb -s 005 -v

Bus 001 Device 005: ID 03f0:002a Hewlett-Packard
Device Descriptor:
  bLength 18
  bDescriptorType 1
  bcdUSB 2.00
  bDeviceClass 0 (Defined at Interface level)
  bDeviceSubClass 0
  bDeviceProtocol 0
  bMaxPacketSize0 64
  idVendor 0x03f0 Hewlett-Packard
  idProduct 0x002a
  bcdDevice 1.00
  iManufacturer 1 Hewlett-Packard
  iProduct 2 HP LaserJet Professional P1102
  iSerial 3 000000000Q80B9YCSI1c
  bNumConfigurations 1
  Configuration Descriptor:
    bLength 9
    bDescriptorType 2
    wTotalLength 8192
    bNumInterfaces 1
    bConfigurationValue 1
    iConfiguration 0
    bmAttributes 0xc0
      Self Powered
    MaxPower 98mA
    Interface Descriptor:
      bLength 9
      bDescriptorType 4
      bInterfaceNumber 0
      bAlternateSetting 0
      bNumEndpoints 2
      bInterfaceClass 8 Mass Storage
      bInterfaceSubClass 6 SCSI
      bInterfaceProtocol 80 Bulk (Zip)
      iInterface 5 HP MS
      Endpoint Descriptor:
        bLength 7
        bDescriptorType 5
        bEndpointAddress 0x04 EP 4 OUT
        bmAttributes 2
          Transfer Type Bulk
          Synch Type None
          Usage Type Data
        wMaxPacketSize 0x0002 1x 2 bytes
        bInterval 0
      Endpoint Descriptor:
        bLength 7
        bDescriptorType 5
        bEndpointAddress 0x84 EP 4 IN
        bmAttributes 2
          Transfer Type Bulk
          Synch Type None
          Usage Type Data
        wMaxPacketSize 0x0002 1x 2 bytes
        bInterval 0
Device Qualifier (for other device speed):
  bLength 10
  bDescriptorType 6
  bcdUSB 2.00
  bDeviceClass 0 (Defined at Interface level)
  bDeviceSubClass 0
  bDeviceProtocol 0
  bMaxPacketSize0 64
  bNumConfigurations 1
Device Status: 0x0001
  Self Powered

How can I switch it to USB printer mode so that I can start using it as a *printer*?

Question information

Language:
English Edit question
Status:
Answered
For:
HPLIP Edit question
Assignee:
No assignee Edit question
Last query:
Last reply:
Revision history for this message
David Jaša (dejv) said :
#1

I've updated the firmware using win xp utility from HP site and the printer's behavior changed - it still fakes CD-ROM initially, but after some time (around one minute), it "disconnects" and changes to a printer:

usb 1-1: new high speed USB device using ar71xx-ehci and address 8
usb 1-1: configuration #1 chosen from 1 choice
usb 1-1: USB disconnect, address 8
usb 1-1: new high speed USB device using ar71xx-ehci and address 9
usb 1-1: configuration #1 chosen from 1 choice
usblp0: USB Bidirectional printer dev 9 if 0 alt 0 proto 2 vid 0x03F0 pid 0x002A

But without a win machine, I'd be stuck. So how can update firmware with linux-only box?

Revision history for this message
Ani Balakrishnan (anib) said :
#2

Hi,

 Please try to configure the printer using hp-setup from terminal and connect the printer to the machine thru USB.

Thanks and Regards
Ani Balakrishnan

Revision history for this message
Marcin Chojnacki (mchojnacki) said :
#3

I have the same problem. I don't have windows machine.

When I run hp-setup then show me that no devices found.
I run hp-setup with USB IDs and install printer. But when I want print something i get error.

Problem is that device is recognize as mass storage:

Bus 003 Device 010: ID 03f0:002a Hewlett-Packard
Device Descriptor:
  bLength 18
  bDescriptorType 1
  bcdUSB 2.00
  bDeviceClass 0 (Defined at Interface level)
  bDeviceSubClass 0
  bDeviceProtocol 0
  bMaxPacketSize0 64
  idVendor 0x03f0 Hewlett-Packard
  idProduct 0x002a
  bcdDevice 1.00
  iManufacturer 1 Hewlett-Packard
  iProduct 2 HP LaserJet Professional P1102
  iSerial 3 000000000Q8093M4SI1c
  bNumConfigurations 1
  Configuration Descriptor:
    bLength 9
    bDescriptorType 2
    wTotalLength 32
    bNumInterfaces 1
    bConfigurationValue 1
    iConfiguration 0
    bmAttributes 0xc0
      Self Powered
    MaxPower 98mA
    Interface Descriptor:
      bLength 9
      bDescriptorType 4
      bInterfaceNumber 0
      bAlternateSetting 0
      bNumEndpoints 2
      bInterfaceClass 8 Mass Storage
      bInterfaceSubClass 6 SCSI
      bInterfaceProtocol 80 Bulk (Zip)
      iInterface 5 HP MS
      Endpoint Descriptor:
        bLength 7
        bDescriptorType 5
        bEndpointAddress 0x04 EP 4 OUT
        bmAttributes 2
          Transfer Type Bulk
          Synch Type None
          Usage Type Data
        wMaxPacketSize 0x0040 1x 64 bytes
        bInterval 0
      Endpoint Descriptor:
        bLength 7
        bDescriptorType 5
        bEndpointAddress 0x84 EP 4 IN
        bmAttributes 2
          Transfer Type Bulk
          Synch Type None
          Usage Type Data
        wMaxPacketSize 0x0040 1x 64 bytes
        bInterval 0
Device Qualifier (for other device speed):
  bLength 10
  bDescriptorType 6
  bcdUSB 2.00
  bDeviceClass 0 (Defined at Interface level)
  bDeviceSubClass 0
  bDeviceProtocol 0
  bMaxPacketSize0 64
  bNumConfigurations 1
Device Status: 0x0001
  Self Powered

How can I switch it to printer ? Or how update firmware under linux ?

Thanks and Regards
Marcin

Revision history for this message
Rogério Theodoro de Brito (rbrito) said :
#4

You probably want to install usb-modeswitch to make the device in question switch from its "CD function" to its intended function.

The way that I see it, this package is going to be more and more important as newer devices are released.

Hope this helps,
Rogério Brito.

P.S.: usb-modeswitch is just a collection of some scripts and even if it doesn't currently switch the device in question, it should not be hard to do the job.

Can you help with this problem?

Provide an answer of your own, or ask David Jaša for more information if necessary.

To post a message you must log in.