2010-07-27 05:46:24     Philips ISP1362BD USB Controller Support

Document created by Aaronwu Employee on Aug 22, 2013
Version 1Show Document
  • View in full screen mode

2010-07-27 05:46:24     Philips ISP1362BD USB Controller Support

Usama Shakeel (PAKISTAN)

Message: 91772   

 

Hello,

 

The USB port on Rowetel IP08 board (BF532) running uClinux 2007 Release does not detect the Modem, while it detects the usb storage (FLASH). Looking at /proc/interrupts we see that the isp1362-hcd interrupt count is increased for the Flash drive but it remains constant for the Modem. We tried uClinux 2009 with same results.

 

What is being used to detect and Configure USB devices?

 

Is it the host controler driver linux2.6.x/drivers/usb/host/ISP1362-hcd.c ? If so does it support all USB device classes ?

 

If it is ISP1362-hcd.c how faithfully does it implements the ISP1362bd data sheet? Modems are supported by the device as per the datasheet, are they supported by ISP1362-hcd.c?

 

We tried to configure Busybox with mdev but that didn't seem to have any effect.

 

Would appreciate any suggestions on how to detect/configure the usb modem .

 

Regards

Usama Bin Shakeel

QuoteReplyEditDelete

 

 

2010-07-27 13:46:22     Re: Philips ISP1362BD USB Controller Support

Robin Getz (UNITED STATES)

Message: 91778   

 

Usama:

 

Upgrade to a recent release. (2009R1)

 

-Robin

QuoteReplyEditDelete

 

 

2010-07-27 14:07:43     Re: Philips ISP1362BD USB Controller Support

Mike Frysinger (UNITED STATES)

Message: 91780   

 

the ISP1362 part isnt an ADI part.  it'd make more sense to ask the people who make that part (NXP) these questions.

 

userspace has no bearing at all if the kernel isnt detecting the device.  if it isnt showing up in /proc/bus/usb/, check the hardware and/or driver.

QuoteReplyEditDelete

 

 

2010-07-27 14:20:02     Re: Philips ISP1362BD USB Controller Support

Ron Weiland (UNITED STATES)

Message: 91781   

 

Usama, you don't mention what messages you are seeing when you plug in the modem.  If you are getting -110 errors or anything of the sort, you may want to look here:

 

  blackfin.uclinux.org/gf/project/uclinux-dist/forum/?action=ForumBrowse&forum_id=39&thread_id=17881&_forum_action=ForumMessageBrowse

 

I was having trouble with most USB devices (including many flash drives) I tried until I made the change mentioned in the message.  Since then everthing gets detected correctly.   I'm currently implimenting a GSM modem on an ISP1362.

QuoteReplyEditDelete

 

 

2010-07-28 06:02:45     Re: Philips ISP1362BD USB Controller Support

Usama Shakeel (PAKISTAN)

Message: 91809   

 

Robin, Thanx for the suggestion.

 

We tried the uClinux 2009 R1 with same results: USB does not detect the modem. We check /proc/bus/usb/devices and the interrupts recieved in /proc/interrupts.

 

Any other suggestions regarding this problem.

 

Regards

Usama

QuoteReplyEditDelete

 

 

2010-07-28 06:10:49     Re: Philips ISP1362BD USB Controller Support

Usama Shakeel (PAKISTAN)

Message: 91810   

 

Ron Weiland, Thanx for your response.

 

>Usama, you don't mention what messages you are seeing when you plug in the modem.  If you are getting -110 errors or anything of the sort, you may want to look here:

>  blackfin.uclinux.org/gf/project/uclinux-dist/forum/?action=ForumBrowse&forum_id=39&thread_id=17881&_forum_action=ForumMessageBrowse

>I was having trouble with most USB devices (including many flash drives) I tried until I made the change mentioned in the message.  Since then everthing gets detected correctly. 

 

The above link proposes to comment out some portion of the hub in the .../uClinux-dist/linux-2.6.x/driver/usb/core/hub.c. We tried that, but no luck. USB still does not detect the modem. We check /proc/bus/usb/devices and the interrupts recieved in /proc/interrupts. Nothing, but Flash drive gets detected and configured.

 

We suspect the ISP1362 HCD (Host Controller Driver) for USB .../uClinux-dist/linux-2.6.x/drivers/usb/host/ISP1362-hcd.c may be causing this. Any thoughts?

 

>I'm currently implimenting a GSM modem on an ISP1362.

 

How far along are you? Does it detect the modem?

What processor? Ours is BF532 on Rowetel IP08 board. We have tried the Rowetel "baps" (uClinux 2007 distro) and also the uClinux 2009 distro. Both have their own versions of ISP1362-hcd.c. What is your development flow and the source of your ISP1362-hcd.c ?

 

Regards

Usama

QuoteReplyEditDelete

 

 

2010-07-28 10:15:06     Re: Philips ISP1362BD USB Controller Support

Robin Getz (UNITED STATES)

Message: 91815   

 

Usama:

 

What does "lsusb -t" or "lsusb -v" show?

 

-robin

QuoteReplyEditDelete

 

 

2010-07-28 13:37:11     Re: Philips ISP1362BD USB Controller Support

Ron Weiland (UNITED STATES)

Message: 91820   

 

A bit off-topic, but I've compiled drivers/usb/serial/option.c into kernel and cross-compiled usb_modeswitch from their website out-of-tree.   I have a Zoom modem (identifies as a MobiData MBD-200HU) which is initially detected by USB as a storage device.  usb_modeswitch switches it to modem mode and the option driver sets up ttyUSB0, 1, and 2.   Using picocom on ttyUSB1 I can get to the "AT" command set of the modem.  Haven't tried connecting to anything yet, but I've only been working on this for one day so far.  The board is very similar to an IP04 with a 600 MHz BF533 processor and I'm currently still using 2008 release kernel with ASTFIN2 file system.

 

Ron

QuoteReplyEditDelete

 

 

2010-07-28 13:46:26     Re: Philips ISP1362BD USB Controller Support

Ron Weiland (UNITED STATES)

Message: 91821   

 

Maybe I should have read your original post more closely.  What kind of modem do you have?  Sounds like you are using a typical GSM-type modem which always comes up initially as a USB drive.  This USB drive contains the windows drivers for the device. To get to the modem itself under Linux, you usually have to use usb_modeswitch to turn off the drive and enable the modem portion.  Compiling usb_modeswitch for the Blackfin is pretty trivial (modify the Makefile).  It can be found here:    www.draisberghof.de/usb_modeswitch

 

Ron

QuoteReplyEditDelete

 

 

2010-07-28 14:41:15     Re: Philips ISP1362BD USB Controller Support

Mike Frysinger (UNITED STATES)

Message: 91822   

 

ive imported that into the trunk repo and it'll be in the next release

QuoteReplyEditDelete

 

 

2010-07-28 15:49:19     Re: Philips ISP1362BD USB Controller Support

Ron Weiland (UNITED STATES)

Message: 91825   

 

Cool, Mike.  That was quick.  Thanks!  I'll be moving to 2010 release when it comes out.

 

Ron

QuoteReplyEditDelete

 

 

2010-07-28 17:20:59     Re: Philips ISP1362BD USB Controller Support

Ron Weiland (UNITED STATES)

Message: 91827   

 

Mike, if usb_modeswitch is going into the build, there is a minor patch (from their website) you might want to make sure is installed:

 

Code:

--- usb-modeswitch-1.1.2-orig/usb_modeswitch.c  2010-04-18 14:40:09.000000000 +0100

+++ usb-modeswitch-1.1.2/usb_modeswitch.c       2010-04-27 21:05:10.000000000 +0100

@@ -673,8 +673,10 @@

 

out:

        if (strlen(MessageContent) == 0)

+       {

                usb_clear_halt(devh, MessageEndpoint);

                usb_release_interface(devh, Interface);

+       }

        free(command);

        return ret;

}

 

Explanation here:    www.draisberghof.de/usb_modeswitch/bb/viewtopic.php?t=384

QuoteReplyEditDelete

 

 

2010-07-28 19:39:17     Re: Philips ISP1362BD USB Controller Support

Mike Frysinger (UNITED STATES)

Message: 91832   

 

thanks ... that's now in trunk as well

QuoteReplyEditDelete

 

 

2010-07-29 04:41:27     Re: Philips ISP1362BD USB Controller Support

Usama Shakeel (PAKISTAN)

Message: 91867   

 

Robin Getz wrote >What does "lsusb -t" or "lsusb -v" show?

 

We selected and inluded lsusb in our uClinux 2009.

After loading the image onto the board, we ran lsusb -v and lsusb -t

    1. Without any USB device attached

    2. With a USB Flash storage device attached

    3. With the USB Modem attached

Looking forward to any suggestions. This message may sent in parts due to its length.

 

Thank you

 

Usama Bin Shakeel

 

1. Without any USB device attached

 

root:/> lsusb -t

Bus#  1

`-Dev#   1 Vendor 0x1d6b Product 0x0001

 

root:/> lsusb -v

 

Bus 001 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub

Device Descriptor:

  bLength                18

  bDescriptorType         1

  bcdUSB               1.10

  bDeviceClass            9 Hub

  bDeviceSubClass         0 Unused

  bDeviceProtocol         0 Full speed (or root) hub

  bMaxPacketSize0        64

  idVendor           0x1d6b Linux Foundation

  idProduct          0x0001 1.1 root hub

  bcdDevice            2.06

  iManufacturer           3 Linux 2.6.28.10-ADI-2009R1.1 isp1362-hcd

  iProduct                2 ISP1362 Host Controller

  iSerial                 1 isp1362-hcd.0

  bNumConfigurations      1

  Configuration Descriptor:

    bLength                 9

    bDescriptorType         2

    wTotalLength           25

    bNumInterfaces          1

    bConfigurationValue     1

    iConfiguration          0

    bmAttributes         0xe0

      Self Powered

      Remote Wakeup

    MaxPower                0mA

    Interface Descriptor:

      bLength                 9

      bDescriptorType         4

      bInterfaceNumber        0

      bAlternateSetting       0

      bNumEndpoints           1

      bInterfaceClass         9 Hub

      bInterfaceSubClass      0 Unused

      bInterfaceProtocol      0 Full speed (or root) hub

      iInterface              0

      Endpoint Descriptor:

        bLength                 7

        bDescriptorType         5

        bEndpointAddress     0x81  EP 1 IN

        bmAttributes            3

          Transfer Type            Interrupt

          Synch Type               None

          Usage Type               Data

        wMaxPacketSize     0x0002  1x 2 bytes

        bInterval             255

Hub Descriptor:

  bLength               9

  bDescriptorType      41

  nNbrPorts             2

  wHubCharacteristic 0x000a

    No power switching (usb 1.0)

    Per-port overcurrent protection

  bPwrOn2PwrGood       25 * 2 milli seconds

  bHubContrCurrent      0 milli Ampere

  DeviceRemovable    0x06

  PortPwrCtrlMask    0xff

Hub Port Status:

   Port 1: 0000.0100 power

   Port 2: 0000.0100 power

Device Status:     0x0003

  Self Powered

  Remote Wakeup Enabled

QuoteReplyEditDelete

 

 

2010-07-29 04:43:15     Re: Philips ISP1362BD USB Controller Support

Usama Shakeel (PAKISTAN)

Message: 91868   

 

Contd. response to Robin Getz wrote >What does "lsusb -t" or "lsusb -v" show?

 

2. With a USB Flash storage device attached

 

root:/> lsusb -t

Bus#  1

`-Dev#   1 Vendor 0x1d6b Product 0x0001

  `-Dev#   4 Vendor 0x1043 Product 0x8012

 

root:/> lsusb -v

 

Bus 001 Device 003: ID 1043:8012 iCreate Technologies Corp.

Device Descriptor:

  bLength                18

  bDescriptorType         1

  bcdUSB               2.00

  bDeviceClass            0 (Defined at Interface level)

  bDeviceSubClass         0

  bDeviceProtocol         0

  bMaxPacketSize0        64

  idVendor           0x1043 iCreate Technologies Corp.

  idProduct          0x8012

  bcdDevice            1.00

  iManufacturer           1 ���⻪��׹

  iProduct                2 2.0

  iSerial                 0

  bNumConfigurations      1

  Configuration Descriptor:

    bLength                 9

    bDescriptorType         2

    wTotalLength           32

    bNumInterfaces          1

    bConfigurationValue     1

    iConfiguration          0

    bmAttributes         0x80

      (Bus Powered)

    MaxPower              100mA

    Interface Descriptor:

      bLength                 9

      bDescriptorType         4

      bInterfaceNumber        0

      bAlternateSetting       0

      bNumEndpoints           2

      bInterfaceClass         8 Mass Storage

      bInterfaceSubClass      6 SCSI

      bInterfaceProtocol     80 Bulk (Zip)

      iInterface              0

      Endpoint Descriptor:

        bLength                 7

        bDescriptorType         5

        bEndpointAddress     0x81  EP 1 IN

        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     0x02  EP 2 OUT

        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:     0x0000

  (Bus Powered)

 

Bus 001 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub

Device Descriptor:

  bLength                18

  bDescriptorType         1

  bcdUSB               1.10

  bDeviceClass            9 Hub

  bDeviceSubClass         0 Unused

  bDeviceProtocol         0 Full speed (or root) hub

  bMaxPacketSize0        64

  idVendor           0x1d6b Linux Foundation

  idProduct          0x0001 1.1 root hub

  bcdDevice            2.06

  iManufacturer           3 Linux 2.6.28.10-ADI-2009R1.1 isp1362-hcd

  iProduct                2 ISP1362 Host Controller

  iSerial                 1 isp1362-hcd.0

  bNumConfigurations      1

  Configuration Descriptor:

    bLength                 9

    bDescriptorType         2

    wTotalLength           25

    bNumInterfaces          1

    bConfigurationValue     1

    iConfiguration          0

    bmAttributes         0xe0

      Self Powered

      Remote Wakeup

    MaxPower                0mA

    Interface Descriptor:

      bLength                 9

      bDescriptorType         4

      bInterfaceNumber        0

      bAlternateSetting       0

      bNumEndpoints           1

      bInterfaceClass         9 Hub

      bInterfaceSubClass      0 Unused

      bInterfaceProtocol      0 Full speed (or root) hub

      iInterface              0

      Endpoint Descriptor:

        bLength                 7

        bDescriptorType         5

        bEndpointAddress     0x81  EP 1 IN

        bmAttributes            3

          Transfer Type            Interrupt

          Synch Type               None

          Usage Type               Data

        wMaxPacketSize     0x0002  1x 2 bytes

        bInterval             255

Hub Descriptor:

  bLength               9

  bDescriptorType      41

  nNbrPorts             2

  wHubCharacteristic 0x000a

    No power switching (usb 1.0)

    Per-port overcurrent protection

  bPwrOn2PwrGood       25 * 2 milli seconds

  bHubContrCurrent      0 milli Ampere

  DeviceRemovable    0x06

  PortPwrCtrlMask    0xff

Hub Port Status:

   Port 1: 0000.0100 power

   Port 2: 0000.0103 power enable connect

Device Status:     0x0003

  Self Powered

  Remote Wakeup Enabled

 

 

3. With the USB Modem attached

 

root:/> lsusb -t

Bus#  1

`-Dev#   1 Vendor 0x1d6b Product 0x0001

 

 

root:/> lsusb -v

 

Bus 001 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub

Device Descriptor:

  bLength                18

  bDescriptorType         1

  bcdUSB               1.10

  bDeviceClass            9 Hub

  bDeviceSubClass         0 Unused

  bDeviceProtocol         0 Full speed (or root) hub

  bMaxPacketSize0        64

  idVendor           0x1d6b Linux Foundation

  idProduct          0x0001 1.1 root hub

  bcdDevice            2.06

  iManufacturer           3 Linux 2.6.28.10-ADI-2009R1.1 isp1362-hcd

  iProduct                2 ISP1362 Host Controller

  iSerial                 1 isp1362-hcd.0

  bNumConfigurations      1

  Configuration Descriptor:

    bLength                 9

    bDescriptorType         2

    wTotalLength           25

    bNumInterfaces          1

    bConfigurationValue     1

    iConfiguration          0

    bmAttributes         0xe0

      Self Powered

      Remote Wakeup

    MaxPower                0mA

    Interface Descriptor:

      bLength                 9

      bDescriptorType         4

      bInterfaceNumber        0

      bAlternateSetting       0

      bNumEndpoints           1

      bInterfaceClass         9 Hub

      bInterfaceSubClass      0 Unused

      bInterfaceProtocol      0 Full speed (or root) hub

      iInterface              0

      Endpoint Descriptor:

        bLength                 7

        bDescriptorType         5

        bEndpointAddress     0x81  EP 1 IN

        bmAttributes            3

          Transfer Type            Interrupt

          Synch Type               None

          Usage Type               Data

        wMaxPacketSize     0x0002  1x 2 bytes

        bInterval             255

Hub Descriptor:

  bLength               9

  bDescriptorType      41

  nNbrPorts             2

  wHubCharacteristic 0x000a

    No power switching (usb 1.0)

    Per-port overcurrent protection

  bPwrOn2PwrGood       25 * 2 milli seconds

  bHubContrCurrent      0 milli Ampere

  DeviceRemovable    0x06

  PortPwrCtrlMask    0xff

Hub Port Status:

   Port 1: 0000.0100 power

   Port 2: 0000.0100 power

Device Status:     0x0003

  Self Powered

  Remote Wakeup Enabled

QuoteReplyEditDelete

 

 

2010-07-29 06:53:38     Re: Philips ISP1362BD USB Controller Support

Usama Shakeel (PAKISTAN)

Message: 91870   

 

Ron Weiland wrote: > What kind of modem do you have?  Sounds like you are using a typical GSM-type modem ...

 

It is. We tested it with a pc/ubuntu, configured it as a modem [rather than the storage device]; worked fine.

 

But with IP08/BF532/uCLinux, it is not even detected i.e. no interrupts in /proc/interrupts, and since no interrupts, lsusb -t and lsusb -v report nothing. We are thinking usb_modeswitch would be useful for configuring a detected device.

 

Any suggestions as to why a particular device would not even be detected in IP08/BF532/uCLinux?

We are trying to ascertain whether it is the ISP1362 HCD (Host Controller Driver) for USB .../uClinux-dist/linux-2.6.x/drivers/usb/host/ISP1362-hcd.c responsible for detection and configuration of USB devices.

 

Not sure what the source of ISP1362-hcd.c is. We are trying to get Philips to verify if indeed ISP1362-hcd.c implements what the ISP1362 datasheet states.

 

Any suggestions?

Thank you

Usama Bin Shakeel

QuoteReplyEditDelete

 

 

2010-07-29 12:07:22     Re: Philips ISP1362BD USB Controller Support

Mike Frysinger (UNITED STATES)

Message: 91874   

 

if the device isnt showing up in `lsusb`, then usb_modeswitch wont help, nor will anything else in userspace.  you should enable debugging in the ISP1362-HCD driver to see if it detects anything at all with that modem.  otherwise you'll have to check the hardware.

QuoteReplyEditDelete

 

 

2010-07-29 13:59:09     Re: Philips ISP1362BD USB Controller Support

Ron Weiland (UNITED STATES)

Message: 91882   

 

Once again, it seems as if I mis-read your post.  I thought the usb storage that was being detected was the one on the modem.  You and Mike are, of course, both correct.  Nothing (including usb_modeswitch) is going to help until at least the usb storage on the modem is detected.

 

I'm no expert on USB, but in looking at the IP08 schematic (  svn.astfin.org/hardware/ip04/trunk/ip04_ip08_v1.3.pdf)

it appears they are only supplying 3.3v to the usb devices instead of the usual 5v.  The modem probably requires 5v, which is what I have on my board.

 

Ron

QuoteReplyEditDelete

 

 

2010-08-04 02:59:57     Re: Philips ISP1362BD USB Controller Support

Usama Shakeel (PAKISTAN)

Message: 92130   

 

Thanks every body,

 

And Ron you were right and I am still wondering why they have given supply of 3.3 V...

 

 

 

Any ways Thank you all..

 

 

 

Regards

 

Usama Bin Shakeel

Attachments

    Outcomes