LOGIN   :::   RECOVER PASS   :::   GET ACCOUNT    
Browse
  • Projects
  • Code (CVS)
  • Forums
  • News
  • Articles
  • Polls
  •  
    OpenCores
  • FAQ
  • CVS HowTo
  • Mission
  • Media
  • Tools
  • Sponsors
  • Mirrors
  • Logos
  • Contact us
  •  
    Tools
  • Search
      
  • Download Cores (CVSGet)
  •  
    More
  • Wishbone
  • Perlilog
  • EDA tools
  • OpenTech CD
  •  
    Navigation: All forums > Usb > Message List > Message Post

    Message

    Reply | Reply all
    Date Prev | Date Next | Thread Prev | Thread Next Date Index | Thread Index

    From: "Marc Reinig" <mreinig@p...>
    Date: Mon, 2 Jun 2003 09:28:52 -0700
    Subject: RE: [usb] USB1.1 Core Address Assignment Failing. Debugging suggestions?
    Top

    > SETUP (host -> device address: 0 endpoint: 0)
    > DATA0 GetDescriptor (h -> d)
    > ACK (d - > h)
    >
    > ... ~ 1ms later:
    >
    > SOF (h - > d)
    > IN (h -> d addr: 0 endpoint: 0)
    > DATA1 (d -> h) -- contains 0x0000 then the 2 bytes CRC
    > ACK (h -> d)
    >
    > ... ~1ms later:
    >
    > SOF (h->d)
    > OUT (h->d) addr: 0 endpoint: 0)
    > DATA1 (h->d) -- contains no data, and the CRC
    > ACK (d->h)
    >
    > This is mysterious: Shouldn't the device send back the first 8 bytes of
    > the descriptor, so the OS can read the max packet size?
    
    The device should send back the number of bytes that the host requested.
    You don't indicate how many bytes were requested.  What OS is this on?
    
    > Also
    > mysterious: The subsequent times that we plug in the device, we see
    > this SetAddress request:
    >
    > SETUP (host -> device address: 0 endpoint: 0)
    > DATA0 SetAddress (h -> d) (with the address that matches the one
    > reported by the kernel)
    > ACK (d - > h)
    >
    > ... ~ 1ms later:
    >
    > SOF (h - > d)
    > IN (h -> d addr: 0 endpoint: 0)
    > DATA1 (d -> h) -- contains 0x0000 then the 2 bytes CRC
    > ACK (h -> d)
    >
    > ~1ms later the bus seems to get reset (goes low for a long time). What
    > went wrong? Isn't this a correct address assignment sequence?
    
    No data is supposed to be returned on SetAddress status phase.  You need to
    examine the code for the device that is feeding and controlling your core.
    
    Check out USB Snoopy for more visibility about how Windows is communicating
    with your device:
    
       http://home.jps.net/~koma/
    
    Marc Reinig
    System Solutions
    
    
    
    
    

    ReferenceAuthor
    [usb] USB1.1 Core Address Assignment Failing. Debugging suggestions?Evan Jones

     
    Copyright (c) 1999 OPENCORES.ORG. All rights reserved.