Page 1 of 1

Philips PicoPix and usb_modeswitch ppc 1020 is it possible?

Posted: 29 Sep 2011, 13:48
by casirry
Hi,
I recently bought a philips mini projector model PicoPix of 1020 but not recognized by ubuntu 10.10.

this is the result of lsusb:

Code: Select all

Bus 002 Device 004: ID 1de1:1101  
Bus 002 Device 003: ID 04f2:b1aa Chicony Electronics Co., Ltd 
Bus 002 Device 002: ID 8087:0020 Intel Corp. Integrated Rate Matching Hub
Bus 002 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 001 Device 004: ID 0bda:0158 Realtek Semiconductor Corp. USB 2.0 multicard reader
Bus 001 Device 003: ID 093a:2510 Pixart Imaging, Inc. Optical Mouse
Bus 001 Device 002: ID 8087:0020 Intel Corp. Integrated Rate Matching Hub
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
This is the the result oh lsusb -v:

Code: Select all

andrea@andrea-HP-G62-Notebook-PC:/etc/usb_modeswitch.d$ lsusb -v | more
can't get device qualifier: Operation not permitted
can't get debug descriptor: Operation not permitted
cannot read device status, Operation not permitted (1)
can't get device qualifier: Operation not permitted
can't get debug descriptor: Operation not permitted
cannot read device status, Operation not permitted (1)

Bus 002 Device 011: ID 1de1:1101  
Device Descriptor:
  bLength                18
  bDescriptorType         1
  bcdUSB               2.00
  bDeviceClass            0 (Defined at Interface level)
  bDeviceSubClass         0 
  bDeviceProtocol         0 
  bMaxPacketSize0        64
can't get device qualifier: Operation not permitted
can't get debug descriptor: Operation not permitted
  idVendor           0x1de1 
cannot read device status, Operation not permitted (1)
  idProduct          0x1101 
  bcdDevice            1.00
  iManufacturer           1 
  iProduct                2 
can't get hub descriptor: Operation not permitted
  iSerial                 3 
can't get device qualifier: Operation not permitted
can't get debug descriptor: Operation not permitted
  bNumConfigurations      1
cannot read device status, Operation not permitted (1)
  Configuration Descriptor:
    bLength                 9
    bDescriptorType         2
    wTotalLength           32
can't get hub descriptor: Operation not permitted
    bNumInterfaces          1
can't get device qualifier: Operation not permitted
can't get debug descriptor: Operation not permitted
    bConfigurationValue     1
cannot read device status, Operation not permitted (1)
can't get device qualifier: Operation not permitted
can't get debug descriptor: Operation not permitted
cannot read device status, Operation not permitted (1)
cannot read device status, Operation not permitted (1)
can't get hub descriptor: Operation not permitted
can't get device qualifier: Operation not permitted
can't get debug descriptor: Operation not permitted
cannot read device status, Operation not permitted (1)
can't get hub descriptor: Operation not permitted
can't get device qualifier: Operation not permitted
can't get debug descriptor: Operation not permitted
cannot read device status, Operation not permitted (1)
    iConfiguration          4 
    bmAttributes         0xc0
      Self Powered
    MaxPower               20mA
    Interface Descriptor:
      bLength                 9
      bDescriptorType         4
      bInterfaceNumber        0
      bAlternateSetting       0
      bNumEndpoints           2
      bInterfaceClass         8 Mass Storage
      bInterfaceSubClass      5 SFF-8070i
      bInterfaceProtocol     80 
      iInterface              5 
      Endpoint Descriptor:
        bLength                 7
        bDescriptorType         5
        bEndpointAddress     0x81  EP 1 IN
        bmAttributes            2
          Transfer Type            Bulk
          Synch Type               None
          Usage Type               Data
        wMaxPacketSize     0x0200  1x 512 bytes
        bInterval               0
      Endpoint Descriptor:
        bLength                 7
        bDescriptorType         5
        bEndpointAddress     0x01  EP 1 OUT
        bmAttributes            2
          Transfer Type            Bulk
          Synch Type               None
          Usage Type               Data
        wMaxPacketSize     0x0200  1x 512 bytes
        bInterval               1
I have done the following:
1) I wrote in / etc / usb_modeswitch.conf

Code: Select all

# Configuration for the usb_modeswitch package, a mode switching tool for
# USB devices providing multiple states or modes
#
# This file is evaluated by the wrapper script "usb_modeswitch_dispatcher"
# in /usr/sbin
# To enable an option, set it to "1", "yes" or "true" (case doesn't matter)
# Everything else counts as "disable"


# Disable automatic mode switching globally (e.g. to access the original
# install storage)

DisableSwitching=0


# Enable logging (results in a extensive report file in /var/log, named
# "usb_modeswitch_<interface-name>"
# PicoPix 1020

EnableLogging=1


DefaultVendor = 0x1de1
DefaultProduct = 0x1101
TargetVendor= 0×1de1
TargetProduct= 0×1101


MessageContent = "555342430890d8f90000000000000cff020000000000000000000000000000"
2) After I created the file (again as root in a terminal) / etc/udev/rules.d/10-switch-picopix.rules AND I WROTE:

Code: Select all

picopix 1020

SUBSYSTEM=="usb", SYSFS{idVendor}=="1de1", SYSFS{idProduct}=="1101", RUN+="/usr/sbin/usb_modeswitch –default-vendor 0×1de1 –default-product 0×1101 –messagecontent 555342430890d8f90000000000000cff020000000000000000000000000000"
3) When I run the command sudo usb_modeswitch-c / etc / usb_modeswitch.conf My projector projects a light PicoPix 1020 blurred the invisible wall (if you unplug the cable and then reconnect it returns to normal projecting a white image with the words PHILIPS, but not the video on my PC), moreover, always after running the command sudo usb_modeswitch-c / etc / usb_modeswitch.conf I get the following message:

Code: Select all

Looking for default devices ...
 Found devices in default mode or class (1)
Accessing device 012 on bus 002 ...
Using endpoints 0x01 (out) and 0x81 (in)
Using endpoints 0x01 (out) and 0x81 (in)
Inquiring device details; driver will be detached ...
Looking for active driver ...
 OK, driver found ("usb-storage")
 OK, driver "usb-storage" detached

SCSI inquiry data (for identification)
-------------------------
  Vendor String: GENERIC
   Model String: USB DISK DEVICE
Revision String: 1.00
-------------------------

USB description data (for identification)
-------------------------
Manufacturer: actions
     Product: Usb Device
  Serial No.: 00000000000000000000000000000000
-------------------------
Setting up communication with interface 0 ...
Using endpoint 0x01 for message sending ...
Trying to send message 1 to endpoint 0x01 ...
 OK, message successfully sent
Resetting response endpoint 0x81
Resetting message endpoint 0x01
-> Run lsusb to note any changes. Bye.
command lsusb -v ....returns:

Code: Select all

Bus 002 Device 013: ID 21e7:000e  
Device Descriptor:
  bLength                18
  bDescriptorType         1
  bcdUSB               2.00
  bDeviceClass          255 Vendor Specific Class
can't get device qualifier: Operation not permitted
  bDeviceSubClass         0 
can't get debug descriptor: Operation not permitted
cannot read device status, Operation not permitted (1)
  bDeviceProtocol         0 
  bMaxPacketSize0        64
  idVendor           0x21e7 
  idProduct          0x000e 
  bcdDevice            1.00
can't get hub descriptor: Operation not permitted
can't get device qualifier: Operation not permitted
  iManufacturer           1 
can't get debug descriptor: Operation not permitted
cannot read device status, Operation not permitted (1)
  iProduct                2 
  iSerial                 3 
  bNumConfigurations      1
  Configuration Descriptor:
    bLength                 9
can't get hub descriptor: Operation not permitted
can't get device qualifier: Operation not permitted
    bDescriptorType         2
can't get debug descriptor: Operation not permitted
cannot read device status, Operation not permitted (1)
    wTotalLength           32
    bNumInterfaces          1
    bConfigurationValue     2
can't get device qualifier: Operation not permitted
can't get debug descriptor: Operation not permitted
cannot read device status, Operation not permitted (1)
cannot read device status, Operation not permitted (1)
can't get hub descriptor: Operation not permitted
can't get device qualifier: Operation not permitted
can't get debug descriptor: Operation not permitted
cannot read device status, Operation not permitted (1)
can't get hub descriptor: Operation not permitted
can't get device qualifier: Operation not permitted
can't get debug descriptor: Operation not permitted
cannot read device status, Operation not permitted (1)
    iConfiguration          6 
    bmAttributes         0xc0
      Self Powered
    MaxPower                2mA
    Interface Descriptor:
      bLength                 9
      bDescriptorType         4
      bInterfaceNumber        0
      bAlternateSetting       0
      bNumEndpoints           2
      bInterfaceClass       255 Vendor Specific Class
      bInterfaceSubClass      8 
      bInterfaceProtocol      8 
      iInterface              7 
      Endpoint Descriptor:
        bLength                 7
        bDescriptorType         5
        bEndpointAddress     0x81  EP 1 IN
        bmAttributes            2
          Transfer Type            Bulk
          Synch Type               None
          Usage Type               Data
        wMaxPacketSize     0x0200  1x 512 bytes
        bInterval               0
      Endpoint Descriptor:
        bLength                 7
        bDescriptorType         5
        bEndpointAddress     0x01  EP 1 OUT
        bmAttributes            2
          Transfer Type            Bulk
          Synch Type               None
          Usage Type               Data
        wMaxPacketSize     0x0200  1x 512 bytes
        bInterval               1

you can solve the problem? suggestions? new ideas?
....thanks!

Posted: 29 Sep 2011, 17:08
by Josh
The following is not clear to me:

- What is supposed to happen after switching? What is the behaviour in Windows?

- Where did you get that switching command from? Did you sniff in Windows?

Two side notes:

1. Don't use "/etc/usb_modeswitch.conf" for device-specific parameters! See main doc page for details about the purpose of that file.

2. Run "lsusb" as root or with "sudo".


Posted: 30 Sep 2011, 09:36
by casirry
When I connect the projector with usb windows, automatic part of the program "Install.exe PicoPix viewer", and once installed run the program "viewer.exe" and everything works properly.
In Ubuntu / Linux, when I connect the projector to the USB device is recognized but when installing the program as "wine" then it does not run (PicoPix viewer obviously does not work). So the projector shows a white image with the word indefinitely philips.

Here is a link where I got the documentation:
http://www.mail-archive.com/linux-uvc-d ... 05720.html

How can I do? I do not know what to do ...

Posted: 01 Oct 2011, 15:38
by Josh
O.K., I found the information about the mode switching.

The problem is that it will not help you very much as long as there is no application for the device that runs in Linux.

You succeeded with the mode switching obviously. What happens if you start Wine after that ?
Is there any error message if you try to start the Windows application ? If so, there may be a Windows driver missing.

Unfortunately, I'm not familiar with Wine, so you have to ask elsewhere how to set it up.