WiPy + PyTrack Windows USB Setup Problems



  • Hi

    My WiPy + PyTrack arrived yesterday but I have been struggling to get these to connect via Windows 8 Pro + USB.

    I have read numerous Forum posts, doc pages etc and tried just about everything I can with no luck to setup drivers, firmware etc.

    I am trying to connect to the board using Putty via Serial but it just won't connect. The only way I can connect is to connect my Windows machine to the WiPy WiFi AP and then use Putty / FileZilla to connect to 192.168.4.1.

    I think I have updated the PyTrack Firmware to 0.0.4. However, using the PyCom Firmware updater doesnt seem to work (struggling to connect the two pins when mounted on the PyTrack). The PyCom Firmware Updater doesn't seem to be able to connect via USB. I am not sure if this is related to my failure to get USB setup or not.

    Is there a command I can run when connected to check the firmware version of the PyTrack and the WiPy to compare with latest?

    Is there a list of valid Firmware combinations anywhere? The firmware download section on the PyCom site seems to just download the firmware updater.

    Is there a definitive list of setup instructions for installing the correct Windows 8 drivers (I read somewhere this should just work but it didn't seem to).

    Any help would be appreciated. This board seems awesome and I can't wait to get playing with it (other than via the WiPy AP).

    Thanks

    Shaun

    EDIT: running os.uname() gives:
    os.uname()
    (sysname='WiPy', nodename='WiPy', release='1.6.7.b1', version='v1.8.6-493-g99ac80fe on 2017-03-03', machine='WiPy with ESP32')[0_1503223043243_usbview.txt](Uploading 100%)

    EDIT: output from usbview.exe below for item listed as PyTrack, device manager screenshots attached, in case this helps0_1503223113057_device_manager.png :
    Device Descriptor:
    bcdUSB: 0x0200
    bDeviceClass: 0x02
    bDeviceSubClass: 0x00
    bDeviceProtocol: 0x00
    bMaxPacketSize0: 0x08 (8)
    idVendor: 0x04D8 (Microchip Technology Inc.)
    idProduct: 0xF013
    bcdDevice: 0x0004
    iManufacturer: 0x01
    0x0409: "Pycom"
    0x0409: "Pycom"
    iProduct: 0x02
    0x0409: "Pytrack"
    0x0409: "Pytrack"
    0x0409: "Pytrack"
    iSerialNumber: 0x03
    0x0409: "Py343434"
    bNumConfigurations: 0x01

    ConnectionStatus: DeviceConnected
    Current Config Value: 0x01
    Device Bus Speed: Full
    Device Address: 0x16
    Open Pipes: 3

    Endpoint Descriptor:
    bEndpointAddress: 0x81 IN
    Transfer Type: Interrupt
    wMaxPacketSize: 0x000A (10)
    bInterval: 0x01

    Endpoint Descriptor:
    bEndpointAddress: 0x82 IN
    Transfer Type: Bulk
    wMaxPacketSize: 0x0040 (64)
    bInterval: 0x00

    Endpoint Descriptor:
    bEndpointAddress: 0x02 OUT
    Transfer Type: Bulk
    wMaxPacketSize: 0x0040 (64)
    bInterval: 0x00

    Configuration Descriptor:
    wTotalLength: 0x003E
    bNumInterfaces: 0x02
    bConfigurationValue: 0x01
    iConfiguration: 0x02
    0x0409: "Pytrack"
    0x0409: "Pytrack"
    0x0409: "Pytrack"
    bmAttributes: 0x80 (Bus Powered )
    MaxPower: 0xFA (500 Ma)

    Interface Descriptor:
    bInterfaceNumber: 0x00
    bAlternateSetting: 0x00
    bNumEndpoints: 0x01
    bInterfaceClass: 0x02
    bInterfaceSubClass: 0x02
    bInterfaceProtocol: 0x00
    iInterface: 0x02
    0x0409: "Pytrack"
    0x0409: "Pytrack"
    0x0409: "Pytrack"

    Unknown Descriptor:
    bDescriptorType: 0x24
    bLength: 0x05
    05 24 00 10 01

    Unknown Descriptor:
    bDescriptorType: 0x24
    bLength: 0x04
    04 24 02 06

    Unknown Descriptor:
    bDescriptorType: 0x24
    bLength: 0x05
    05 24 06 00 01

    Endpoint Descriptor:
    bEndpointAddress: 0x81 IN
    Transfer Type: Interrupt
    wMaxPacketSize: 0x000A (10)
    bInterval: 0x01

    Interface Descriptor:
    bInterfaceNumber: 0x01
    bAlternateSetting: 0x00
    bNumEndpoints: 0x02
    bInterfaceClass: 0x0A
    bInterfaceSubClass: 0x00
    bInterfaceProtocol: 0x00
    iInterface: 0x01
    0x0409: "Pycom"
    0x0409: "Pycom"

    Endpoint Descriptor:
    bEndpointAddress: 0x82 IN
    Transfer Type: Bulk
    wMaxPacketSize: 0x0040 (64)
    bInterval: 0x00

    Endpoint Descriptor:
    bEndpointAddress: 0x02 OUT
    Transfer Type: Bulk
    wMaxPacketSize: 0x0040 (64)
    bInterval: 0x00
    0_1503223115762_device_manager2.png 0_1503223117665_device_manager3.png



  • @jcaron Thanks for the tip. Output below.

    from pytrack import Pytrack
    py = Pytrack()
    py.read_fw_version()
    4

    Which I think means it had flashed successfully (partly as my previously loaded libs had disappeared!).

    I had tried to connect the External I/O header as an alternative but had similar lack of luck. Tried High speed transfer both ticked and unticked based on reading another similar post.

    Just tried this again with same result. Flash tool states it is connecting... then shows a Failure! warning. The only COM port in the drop down is COM3 but I am not sure that's the attached PyTrack as removing the PyTrack from USB doesn't de-list the item listed in Device Manager.

    I am still concerned that it is more related to not having the correct Windows drivers in place that's preventing things from working as they should.

    Thanks again for the response.

    Regards

    Shaun



  • This post is deleted!


  • @shaun_nicholson To enter the firmware upgrade mode on the WiPy while mounted on the Pytrack, it may be easier to connect pins 1 and 5 on the External I/O header of the Pytrack (they're connected to P23 and GND, they're just easier to manipulate).

    You can check the Pytrack firmware version using the Pytrack library (https://github.com/pycom/pycom-libraries/tree/master/pytrack) and code similar to:

    from pytrack import Pytrack
    py = Pytrack()
    py.read_fw_version()


Pycom on Twitter