Skip to content
  • Categories
  • Recent
  • Tags
  • Popular
  • Users
  • Groups
Collapse
Brand Logo

ModalAI Forum

  1. ModalAI Support Forum
  2. ESCs
  3. voxl Tmotor f55 esc

voxl Tmotor f55 esc

Scheduled Pinned Locked Moved ESCs
26 Posts 5 Posters 7.9k Views 2 Watching
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • Alex KushleyevA Alex Kushleyev

    Hello @ErezI , did the debugging mode help you figure out the issue?

    E Offline
    E Offline
    ErezI
    Contributor
    wrote on last edited by
    #17

    @Alex-Kushleyev

    Hi Alex,

    I added my tests' info using wsl2 (no success)

    on windows

    #process0
    C:\Program Files\usbipd-win>usbipd server

    on wsl (f55a-cyclic.sh)

    #!/bin/bash
    sudo echo 1 > /sys/bus/usb-serial/devices/ttyUSB0/latency_timer
    sleep 5

    #proces1
    sudo nome-terminal -x ./auto-attach.sh 172.24.192.1 3-2
    sleep 3

    #process2
    sudo gnome-terminal -x watch "ls -al /dev | egrep ttyU"
    sleep 3

    #process3
    sudo gnome-terminal -x dmesg -W
    sleep 3

    #process4
    sudo gnome-terminal --working-directory=/data/voxl-esc-add-new-params/voxl-esc-tools/ -x watch "python /data/voxl-esc-add-new-params/voxl-esc-tools/voxl-esc-scan.py --enable-debug 1"

    sleep 30
    ps -a
    sleep 3
    sudo pkill -9 gnome-terminal
    pkill -9 gnome-terminal
    sleep 5

    #process0 output

    C:\Program Files\usbipd-win>usbipd server
    info: Microsoft.Hosting.Lifetime[0]
    Application started. Press Ctrl+C to shut down.
    info: Microsoft.Hosting.Lifetime[0]
    Hosting environment: Production
    info: Microsoft.Hosting.Lifetime[0]
    Content root path: C:\Program Files\usbipd-win
    info: Usbipd.ConnectedClient[1]
    Client 172.24.199.17 claimed device at 3-2 (USB\VID_0403&PID_6001\FT4TW3LE).
    info: Usbipd.ConnectedClient[2]
    Client 172.24.199.17 released device at 3-2 (USB\VID_0403&PID_6001\FT4TW3LE).
    info: Usbipd.ConnectedClient[1]
    Client 172.24.199.17 claimed device at 3-2 (USB\VID_0403&PID_6001\FT4TW3LE).
    info: Usbipd.ConnectedClient[2]
    Client 172.24.199.17 released device at 3-2 (USB\VID_0403&PID_6001\FT4TW3LE).
    info: Usbipd.ConnectedClient[1]
    Client 172.24.199.17 claimed device at 3-2 (USB\VID_0403&PID_6001\FT4TW3LE).

    #process1 output

    usbip: error: Attach Request for 3-2 failed - Device not found
    Attached
    Detached
    usbip: error: Attach Request for 3-2 failed - Device not found
    Attached
    Detached
    Attached

    #process2 output

    Every 2.0s: ls -al /dev | egrep ttyU PW-CONTROL07: Wed Jun 21 17:06:16 2023

    crw------- 1 root root 188, 0 Jun 21 2023 ttyUSB0

    #process3 output

    [ 1892.623021] vhci_hcd vhci_hcd.0: pdev(0) rhport(0) sockfd(3)
    [ 1892.628241] vhci_hcd vhci_hcd.0: devid(196610) speed(2) speed_str(full-speed)
    [ 1892.630748] vhci_hcd vhci_hcd.0: Device attached
    [ 1892.914403] vhci_hcd: vhci_device speed not set
    [ 1892.984269] usb 1-1: new full-speed USB device number 18 using vhci_hcd
    [ 1893.084280] vhci_hcd: vhci_device speed not set
    [ 1893.164250] usb 1-1: SetAddress Request (18) to port 0
    [ 1893.604492] usb 1-1: New USB device found, idVendor=0403, idProduct=6001, bcdDevice= 6.00
    [ 1893.606748] usb 1-1: New USB device strings: Mfr=1, Product=2, SerialNumber=3
    [ 1893.609072] usb 1-1: Product: TTL232RG-VREG3V3
    [ 1893.609980] usb 1-1: Manufacturer: FTDI
    [ 1893.610659] usb 1-1: SerialNumber: FT4TW3LE
    [ 1893.623736] ftdi_sio 1-1:1.0: FTDI USB Serial Device converter detected
    [ 1893.625770] usb 1-1: Detected FT232RL
    [ 1893.632497] usb 1-1: FTDI USB Serial Device converter now attached to ttyUSB0
    [ 1895.017816] vhci_hcd: unlink->seqnum 81017
    [ 1895.018495] vhci_hcd: the urb (seqnum 81017) was already given back
    [ 1895.019313] vhci_hcd: unlink->seqnum 81019
    [ 1895.019856] vhci_hcd: the urb (seqnum 81019) was already given back
    [ 1895.163809] ftdi_sio ttyUSB0: usb_serial_generic_read_bulk_callback - urb stopped: -32
    [ 1895.164874] vhci_hcd: unlink->seqnum 81055
    [ 1895.165354] vhci_hcd: the urb (seqnum 81055) was already given back
    [ 1895.310820] ftdi_sio ttyUSB0: usb_serial_generic_read_bulk_callback - urb stopped: -32
    [ 1895.311921] vhci_hcd: unlink->seqnum 81089
    [ 1895.312494] vhci_hcd: the urb (seqnum 81089) was already given back
    [ 1895.461562] ftdi_sio ttyUSB0: usb_serial_generic_read_bulk_callback - urb stopped: -32
    [ 1895.464395] vhci_hcd: unlink->seqnum 81123
    [ 1895.466541] vhci_hcd: the urb (seqnum 81123) was already given back
    [ 1895.628411] ftdi_sio ttyUSB0: usb_serial_generic_read_bulk_callback - urb stopped: -32
    [ 1895.630861] vhci_hcd: unlink->seqnum 81158
    [ 1895.632078] vhci_hcd: the urb (seqnum 81158) was already given back
    [ 1895.784242] ftdi_sio ttyUSB0: usb_serial_generic_read_bulk_callback - urb stopped: -32
    [ 1895.785161] vhci_hcd: unlink->seqnum 81193
    [ 1895.785654] vhci_hcd: the urb (seqnum 81193) was already given back
    [ 1896.349788] ftdi_sio ttyUSB0: usb_serial_generic_read_bulk_callback - urb stopped: -32
    [ 1896.350886] vhci_hcd: unlink->seqnum 81521
    [ 1896.351526] vhci_hcd: the urb (seqnum 81521) was already given back
    [ 1896.914474] ftdi_sio ttyUSB0: usb_serial_generic_read_bulk_callback - urb stopped: -32
    [ 1896.915333] vhci_hcd: unlink->seqnum 82125
    [ 1896.915797] vhci_hcd: the urb (seqnum 82125) was already given back
    [ 1899.267100] vhci_hcd: unlink->seqnum 82295
    [ 1899.267747] vhci_hcd: the urb (seqnum 82295) was already given back
    [ 1899.268576] vhci_hcd: unlink->seqnum 82297
    [ 1899.269365] vhci_hcd: the urb (seqnum 82297) was already given back
    [ 1899.416402] ftdi_sio ttyUSB0: usb_serial_generic_read_bulk_callback - urb stopped: -32
    [ 1899.417294] vhci_hcd: unlink->seqnum 82468
    [ 1899.417874] vhci_hcd: the urb (seqnum 82468) was already given back
    [ 1899.561474] vhci_hcd: unlink->seqnum 82634
    [ 1899.562043] vhci_hcd: the urb (seqnum 82634) was already given back
    [ 1899.562994] vhci_hcd: unlink->seqnum 82636
    [ 1899.563598] vhci_hcd: the urb (seqnum 82636) was already given back
    [ 1899.708527] ftdi_sio ttyUSB0: usb_serial_generic_read_bulk_callback - urb stopped: -32
    [ 1899.710263] vhci_hcd: unlink->seqnum 82802
    [ 1899.711258] vhci_hcd: the urb (seqnum 82802) was already given back
    [ 1899.859324] ftdi_sio ttyUSB0: usb_serial_generic_read_bulk_callback - urb stopped: -32
    [ 1899.860214] vhci_hcd: unlink->seqnum 82958
    [ 1899.860859] vhci_hcd: the urb (seqnum 82958) was already given back
    [ 1900.003321] ftdi_sio ttyUSB0: usb_serial_generic_read_bulk_callback - urb stopped: -32
    [ 1900.004322] vhci_hcd: unlink->seqnum 83123
    [ 1900.004759] vhci_hcd: the urb (seqnum 83123) was already given back
    [ 1900.567465] ftdi_sio ttyUSB0: usb_serial_generic_read_bulk_callback - urb stopped: -32
    [ 1900.568335] vhci_hcd: unlink->seqnum 83730
    [ 1900.568811] vhci_hcd: the urb (seqnum 83730) was already given back
    [ 1901.130609] ftdi_sio ttyUSB0: usb_serial_generic_read_bulk_callback - urb stopped: -32
    [ 1901.131840] vhci_hcd: unlink->seqnum 84335
    [ 1901.132850] vhci_hcd: the urb (seqnum 84335) was already given back
    [ 1903.459054] vhci_hcd: unlink->seqnum 84493
    [ 1903.460300] vhci_hcd: the urb (seqnum 84493) was already given back
    [ 1903.461365] vhci_hcd: unlink->seqnum 84495
    [ 1903.462478] vhci_hcd: the urb (seqnum 84495) was already given back
    [ 1903.611008] ftdi_sio ttyUSB0: usb_serial_generic_read_bulk_callback - urb stopped: -32
    [ 1903.611918] vhci_hcd: unlink->seqnum 84668
    [ 1903.612309] vhci_hcd: the urb (seqnum 84668) was already given back
    [ 1903.757928] ftdi_sio ttyUSB0: usb_serial_generic_read_bulk_callback - urb stopped: -32
    [ 1903.758831] vhci_hcd: unlink->seqnum 84837
    [ 1903.759266] vhci_hcd: the urb (seqnum 84837) was already given back
    [ 1903.904994] vhci_hcd: unlink->seqnum 85001
    [ 1903.905570] vhci_hcd: the urb (seqnum 85001) was already given back
    [ 1903.906408] vhci_hcd: unlink->seqnum 85003
    [ 1903.906866] vhci_hcd: the urb (seqnum 85003) was already given back
    [ 1904.055495] ftdi_sio ttyUSB0: usb_serial_generic_read_bulk_callback - urb stopped: -32
    [ 1904.056528] vhci_hcd: unlink->seqnum 85174
    [ 1904.057186] vhci_hcd: the urb (seqnum 85174) was already given back
    [ 1904.199584] vhci_hcd: unlink->seqnum 85340
    [ 1904.200320] vhci_hcd: the urb (seqnum 85340) was already given back
    [ 1904.201153] vhci_hcd: unlink->seqnum 85342
    [ 1904.201755] vhci_hcd: the urb (seqnum 85342) was already given back
    [ 1904.770065] ftdi_sio ttyUSB0: usb_serial_generic_read_bulk_callback - urb stopped: -32
    [ 1904.771215] vhci_hcd: unlink->seqnum 85941
    [ 1904.793412] vhci_hcd: the urb (seqnum 85941) was already given back
    [ 1905.378980] vhci_hcd: unlink->seqnum 86540
    [ 1905.379524] vhci_hcd: the urb (seqnum 86540) was already given back
    [ 1905.380213] vhci_hcd: unlink->seqnum 86542
    [ 1905.380672] vhci_hcd: the urb (seqnum 86542) was already given back
    [ 1907.712779] ftdi_sio ttyUSB0: usb_serial_generic_read_bulk_callback - urb stopped: -32
    [ 1907.713839] vhci_hcd: unlink->seqnum 86708
    [ 1907.714369] vhci_hcd: the urb (seqnum 86708) was already given back
    [ 1907.856827] ftdi_sio ttyUSB0: usb_serial_generic_read_bulk_callback - urb stopped: -32
    [ 1907.857885] vhci_hcd: unlink->seqnum 86873
    [ 1907.858613] vhci_hcd: the urb (seqnum 86873) was already given back
    [ 1908.000380] vhci_hcd: unlink->seqnum 87037
    [ 1908.000990] vhci_hcd: the urb (seqnum 87037) was already given back
    [ 1908.001894] vhci_hcd: unlink->seqnum 87039
    [ 1908.002283] vhci_hcd: the urb (seqnum 87039) was already given back
    [ 1908.144051] ftdi_sio ttyUSB0: usb_serial_generic_read_bulk_callback - urb stopped: -32
    [ 1908.145049] vhci_hcd: unlink->seqnum 87203
    [ 1908.145540] vhci_hcd: the urb (seqnum 87203) was already given back
    [ 1908.287037] ftdi_sio ttyUSB0: usb_serial_generic_read_bulk_callback - urb stopped: -32
    [ 1908.287877] vhci_hcd: unlink->seqnum 87365
    [ 1908.288349] vhci_hcd: the urb (seqnum 87365) was already given back
    [ 1908.429762] ftdi_sio ttyUSB0: usb_serial_generic_read_bulk_callback - urb stopped: -32
    [ 1908.430658] vhci_hcd: unlink->seqnum 87530
    [ 1908.431205] vhci_hcd: the urb (seqnum 87530) was already given back
    [ 1908.985317] ftdi_sio ttyUSB0: usb_serial_generic_read_bulk_callback - urb stopped: -32
    [ 1908.986189] vhci_hcd: unlink->seqnum 88127
    [ 1908.986661] vhci_hcd: the urb (seqnum 88127) was already given back
    [ 1909.548749] ftdi_sio ttyUSB0: usb_serial_generic_read_bulk_callback - urb stopped: -32
    [ 1909.549567] vhci_hcd: unlink->seqnum 88733
    [ 1909.550019] vhci_hcd: the urb (seqnum 88733) was already given back
    [ 1911.260690] vhci_hcd: connection closed
    [ 1911.261065] vhci_hcd: stop threads
    [ 1911.269459] vhci_hcd: release socket
    [ 1911.270215] vhci_hcd: disconnect device
    [ 1911.270792] usb 1-1: USB disconnect, device number 18
    [ 1911.271620] ftdi_sio ttyUSB0: FTDI USB Serial Device converter now disconnected from ttyUSB0
    [ 1911.272759] ftdi_sio 1-1:1.0: device disconnected
    [ 1919.686333] vhci_hcd vhci_hcd.0: pdev(0) rhport(0) sockfd(3)
    [ 1919.694426] vhci_hcd vhci_hcd.0: devid(196610) speed(2) speed_str(full-speed)
    [ 1919.695445] vhci_hcd vhci_hcd.0: Device attached
    [ 1919.974230] vhci_hcd: vhci_device speed not set
    [ 1920.054310] usb 1-1: new full-speed USB device number 19 using vhci_hcd
    [ 1920.134299] vhci_hcd: vhci_device speed not set
    [ 1920.204355] usb 1-1: SetAddress Request (19) to port 0
    [ 1920.271386] usb 1-1: New USB device found, idVendor=0403, idProduct=6001, bcdDevice= 6.00
    [ 1920.272654] usb 1-1: New USB device strings: Mfr=1, Product=2, SerialNumber=3
    [ 1920.276426] usb 1-1: Product: TTL232RG-VREG3V3
    [ 1920.283974] usb 1-1: Manufacturer: FTDI
    [ 1920.284659] usb 1-1: SerialNumber: FT4TW3LE
    [ 1920.290771] ftdi_sio 1-1:1.0: FTDI USB Serial Device converter detected
    [ 1920.294102] usb 1-1: Detected FT232RL
    [ 1920.302218] usb 1-1: FTDI USB Serial Device converter now attached to ttyUSB0
    [ 1921.677956] ftdi_sio ttyUSB0: usb_serial_generic_read_bulk_callback - urb stopped: -32
    [ 1921.678813] vhci_hcd: unlink->seqnum 88782
    [ 1921.679423] vhci_hcd: the urb (seqnum 88782) was already given back
    [ 1921.876417] vhci_hcd: unlink->seqnum 88820
    [ 1921.879762] vhci_hcd: the urb (seqnum 88820) was already given back
    [ 1921.881034] vhci_hcd: unlink->seqnum 88822
    [ 1921.882547] vhci_hcd: the urb (seqnum 88822) was already given back
    [ 1922.043477] ftdi_sio ttyUSB0: usb_serial_generic_read_bulk_callback - urb stopped: -32
    [ 1922.044895] vhci_hcd: unlink->seqnum 88857
    [ 1922.047776] vhci_hcd: the urb (seqnum 88857) was already given back
    [ 1922.198003] ftdi_sio ttyUSB0: usb_serial_generic_read_bulk_callback - urb stopped: -32
    [ 1922.199267] vhci_hcd: unlink->seqnum 88892
    [ 1922.201613] vhci_hcd: the urb (seqnum 88892) was already given back
    [ 1922.347202] ftdi_sio ttyUSB0: usb_serial_generic_read_bulk_callback - urb stopped: -32
    [ 1922.348165] vhci_hcd: unlink->seqnum 88926
    [ 1922.348714] vhci_hcd: the urb (seqnum 88926) was already given back
    [ 1922.499077] vhci_hcd: unlink->seqnum 88960
    [ 1922.501091] vhci_hcd: the urb (seqnum 88960) was already given back
    [ 1922.502717] vhci_hcd: unlink->seqnum 88962
    [ 1922.503551] vhci_hcd: the urb (seqnum 88962) was already given back
    [ 1923.072953] ftdi_sio ttyUSB0: usb_serial_generic_read_bulk_callback - urb stopped: -32
    [ 1923.073985] vhci_hcd: unlink->seqnum 89043
    [ 1923.074516] vhci_hcd: the urb (seqnum 89043) was already given back
    [ 1923.635175] ftdi_sio ttyUSB0: usb_serial_generic_read_bulk_callback - urb stopped: -32
    [ 1923.636452] vhci_hcd: unlink->seqnum 89124
    [ 1923.639462] vhci_hcd: the urb (seqnum 89124) was already given back
    [ 1925.988300] ftdi_sio ttyUSB0: usb_serial_generic_read_bulk_callback - urb stopped: -32
    [ 1925.989173] vhci_hcd: unlink->seqnum 89294
    [ 1925.989803] vhci_hcd: the urb (seqnum 89294) was already given back
    [ 1926.134048] ftdi_sio ttyUSB0: usb_serial_generic_read_bulk_callback - urb stopped: -32
    [ 1926.135052] vhci_hcd: unlink->seqnum 89463
    [ 1926.135819] vhci_hcd: the urb (seqnum 89463) was already given back
    [ 1926.278682] ftdi_sio ttyUSB0: usb_serial_generic_read_bulk_callback - urb stopped: -32
    [ 1926.279729] vhci_hcd: unlink->seqnum 89630
    [ 1926.280229] vhci_hcd: the urb (seqnum 89630) was already given back
    [ 1926.421818] ftdi_sio ttyUSB0: usb_serial_generic_read_bulk_callback - urb stopped: -32
    [ 1926.422654] vhci_hcd: unlink->seqnum 89795
    [ 1926.423078] vhci_hcd: the urb (seqnum 89795) was already given back
    [ 1926.564779] ftdi_sio ttyUSB0: usb_serial_generic_read_bulk_callback - urb stopped: -32
    [ 1926.565697] vhci_hcd: unlink->seqnum 89960
    [ 1926.566098] vhci_hcd: the urb (seqnum 89960) was already given back
    [ 1926.708525] ftdi_sio ttyUSB0: usb_serial_generic_read_bulk_callback - urb stopped: -32
    [ 1926.709465] vhci_hcd: unlink->seqnum 90126
    [ 1926.709876] vhci_hcd: the urb (seqnum 90126) was already given back
    [ 1927.274337] ftdi_sio ttyUSB0: usb_serial_generic_read_bulk_callback - urb stopped: -32
    [ 1927.275263] vhci_hcd: unlink->seqnum 90734
    [ 1927.275660] vhci_hcd: the urb (seqnum 90734) was already given back
    [ 1927.845187] vhci_hcd: unlink->seqnum 91344
    [ 1927.850883] vhci_hcd: the urb (seqnum 91344) was already given back
    [ 1927.851973] vhci_hcd: unlink->seqnum 91345
    [ 1927.852996] vhci_hcd: the urb (seqnum 91345) was already given back
    [ 1930.171018] ftdi_sio ttyUSB0: usb_serial_generic_read_bulk_callback - urb stopped: -32
    [ 1930.171928] vhci_hcd: unlink->seqnum 91510
    [ 1930.172363] vhci_hcd: the urb (seqnum 91510) was already given back
    [ 1930.314139] vhci_hcd: unlink->seqnum 91677
    [ 1930.314704] vhci_hcd: the urb (seqnum 91677) was already given back
    [ 1930.315339] vhci_hcd: unlink->seqnum 91678
    [ 1930.315820] vhci_hcd: the urb (seqnum 91678) was already given back
    [ 1930.459077] vhci_hcd: unlink->seqnum 91844
    [ 1930.459613] vhci_hcd: the urb (seqnum 91844) was already given back
    [ 1930.460384] vhci_hcd: unlink->seqnum 91846
    [ 1930.460758] vhci_hcd: the urb (seqnum 91846) was already given back
    [ 1930.604012] vhci_hcd: unlink->seqnum 92012
    [ 1930.604595] vhci_hcd: the urb (seqnum 92012) was already given back
    [ 1930.605499] vhci_hcd: unlink->seqnum 92014
    [ 1930.605943] vhci_hcd: the urb (seqnum 92014) was already given back
    [ 1930.749651] ftdi_sio ttyUSB0: usb_serial_generic_read_bulk_callback - urb stopped: -32
    [ 1930.750537] vhci_hcd: unlink->seqnum 92180
    [ 1930.750994] vhci_hcd: the urb (seqnum 92180) was already given back
    [ 1930.892499] ftdi_sio ttyUSB0: usb_serial_generic_read_bulk_callback - urb stopped: -32
    [ 1930.893423] vhci_hcd: unlink->seqnum 92342
    [ 1930.893815] vhci_hcd: the urb (seqnum 92342) was already given back
    [ 1931.450515] vhci_hcd: unlink->seqnum 92942
    [ 1931.451036] vhci_hcd: the urb (seqnum 92942) was already given back
    [ 1931.451855] vhci_hcd: unlink->seqnum 92943
    [ 1931.452310] vhci_hcd: the urb (seqnum 92943) was already given back
    [ 1932.005934] ftdi_sio ttyUSB0: usb_serial_generic_read_bulk_callback - urb stopped: -32
    [ 1932.007079] vhci_hcd: unlink->seqnum 93538
    [ 1932.008051] vhci_hcd: the urb (seqnum 93538) was already given back
    [ 1934.344638] vhci_hcd: unlink->seqnum 93705
    [ 1934.345318] vhci_hcd: the urb (seqnum 93705) was already given back
    [ 1934.346020] vhci_hcd: unlink->seqnum 93707
    [ 1934.346914] vhci_hcd: the urb (seqnum 93707) was already given back
    [ 1934.492421] vhci_hcd: unlink->seqnum 93877
    [ 1934.493007] vhci_hcd: the urb (seqnum 93877) was already given back
    [ 1934.493725] vhci_hcd: unlink->seqnum 93879
    [ 1934.494085] vhci_hcd: the urb (seqnum 93879) was already given back
    [ 1934.635685] vhci_hcd: unlink->seqnum 94043
    [ 1934.636305] vhci_hcd: the urb (seqnum 94043) was already given back
    [ 1934.637020] vhci_hcd: unlink->seqnum 94045
    [ 1934.637408] vhci_hcd: the urb (seqnum 94045) was already given back
    [ 1934.781906] ftdi_sio ttyUSB0: usb_serial_generic_read_bulk_callback - urb stopped: -32
    [ 1934.782873] vhci_hcd: unlink->seqnum 94212
    [ 1934.783484] vhci_hcd: the urb (seqnum 94212) was already given back
    [ 1934.928139] ftdi_sio ttyUSB0: usb_serial_generic_read_bulk_callback - urb stopped: -32
    [ 1934.929093] vhci_hcd: unlink->seqnum 94374
    [ 1934.929506] vhci_hcd: the urb (seqnum 94374) was already given back
    [ 1935.072487] vhci_hcd: unlink->seqnum 94540
    [ 1935.073073] vhci_hcd: the urb (seqnum 94540) was already given back
    [ 1935.073747] vhci_hcd: unlink->seqnum 94542
    [ 1935.074123] vhci_hcd: the urb (seqnum 94542) was already given back
    [ 1935.636666] vhci_hcd: unlink->seqnum 95136
    [ 1935.637325] vhci_hcd: the urb (seqnum 95136) was already given back
    [ 1935.638064] vhci_hcd: unlink->seqnum 95137
    [ 1935.638408] vhci_hcd: the urb (seqnum 95137) was already given back
    [ 1936.206561] ftdi_sio ttyUSB0: usb_serial_generic_read_bulk_callback - urb stopped: -32
    [ 1936.207426] vhci_hcd: unlink->seqnum 95734
    [ 1936.207861] vhci_hcd: the urb (seqnum 95734) was already given back
    [ 1938.546194] vhci_hcd: unlink->seqnum 95901
    [ 1938.547045] vhci_hcd: the urb (seqnum 95901) was already given back
    [ 1938.547876] vhci_hcd: unlink->seqnum 95902
    [ 1938.548267] vhci_hcd: the urb (seqnum 95902) was already given back
    [ 1938.693577] vhci_hcd: unlink->seqnum 96071
    [ 1938.694092] vhci_hcd: the urb (seqnum 96071) was already given back
    [ 1938.835928] ftdi_sio ttyUSB0: usb_serial_generic_read_bulk_callback - urb stopped: -32
    [ 1938.836732] vhci_hcd: unlink->seqnum 96236
    [ 1938.837195] vhci_hcd: the urb (seqnum 96236) was already given back
    [ 1938.987705] ftdi_sio ttyUSB0: usb_serial_generic_read_bulk_callback - urb stopped: -32
    [ 1938.988677] vhci_hcd: unlink->seqnum 96353
    [ 1938.989499] vhci_hcd: the urb (seqnum 96353) was already given back
    [ 1939.135970] vhci_hcd: unlink->seqnum 96522
    [ 1939.136689] vhci_hcd: the urb (seqnum 96522) was already given back
    [ 1939.137357] vhci_hcd: unlink->seqnum 96523
    [ 1939.137810] vhci_hcd: the urb (seqnum 96523) was already given back
    [ 1939.281588] ftdi_sio ttyUSB0: usb_serial_generic_read_bulk_callback - urb stopped: -32
    [ 1939.282484] vhci_hcd: unlink->seqnum 96689
    [ 1939.282888] vhci_hcd: the urb (seqnum 96689) was already given back
    [ 1939.845544] vhci_hcd: unlink->seqnum 97291
    [ 1939.846182] vhci_hcd: the urb (seqnum 97291) was already given back
    [ 1939.846917] vhci_hcd: unlink->seqnum 97292
    [ 1939.847364] vhci_hcd: the urb (seqnum 97292) was already given back
    [ 1940.417903] ftdi_sio ttyUSB0: usb_serial_generic_read_bulk_callback - urb stopped: -32
    [ 1940.418750] vhci_hcd: unlink->seqnum 97899
    [ 1940.419149] vhci_hcd: the urb (seqnum 97899) was already given back
    [ 1942.755591] ftdi_sio ttyUSB0: usb_serial_generic_read_bulk_callback - urb stopped: -32
    [ 1942.756589] vhci_hcd: unlink->seqnum 98066
    [ 1942.757790] vhci_hcd: the urb (seqnum 98066) was already given back
    [ 1942.911059] vhci_hcd: unlink->seqnum 98221
    [ 1942.922839] vhci_hcd: the urb (seqnum 98221) was already given back
    [ 1942.924368] vhci_hcd: unlink->seqnum 98222
    [ 1942.925054] vhci_hcd: the urb (seqnum 98222) was already given back
    [ 1943.070474] ftdi_sio ttyUSB0: usb_serial_generic_read_bulk_callback - urb stopped: -32
    [ 1943.071268] vhci_hcd: unlink->seqnum 98389
    [ 1943.071663] vhci_hcd: the urb (seqnum 98389) was already given back
    [ 1943.214148] ftdi_sio ttyUSB0: usb_serial_generic_read_bulk_callback - urb stopped: -32
    [ 1943.215327] vhci_hcd: unlink->seqnum 98555
    [ 1943.216018] vhci_hcd: the urb (seqnum 98555) was already given back
    [ 1943.357497] vhci_hcd: unlink->seqnum 98720
    [ 1943.358063] vhci_hcd: the urb (seqnum 98720) was already given back
    [ 1943.358735] vhci_hcd: unlink->seqnum 98721
    [ 1943.359371] vhci_hcd: the urb (seqnum 98721) was already given back
    [ 1943.500841] ftdi_sio ttyUSB0: usb_serial_generic_read_bulk_callback - urb stopped: -32
    [ 1943.501779] vhci_hcd: unlink->seqnum 98886
    [ 1943.502181] vhci_hcd: the urb (seqnum 98886) was already given back
    [ 1944.063008] ftdi_sio ttyUSB0: usb_serial_generic_read_bulk_callback - urb stopped: -32
    [ 1944.064232] vhci_hcd: unlink->seqnum 99489
    [ 1944.064739] vhci_hcd: the urb (seqnum 99489) was already given back
    [ 1944.632563] vhci_hcd: unlink->seqnum 100100
    [ 1944.633273] vhci_hcd: the urb (seqnum 100100) was already given back
    [ 1944.634220] vhci_hcd: unlink->seqnum 100102
    [ 1944.634954] vhci_hcd: the urb (seqnum 100102) was already given back
    [ 1946.987708] ftdi_sio ttyUSB0: usb_serial_generic_read_bulk_callback - urb stopped: -32
    [ 1946.988507] vhci_hcd: unlink->seqnum 100265
    [ 1946.988882] vhci_hcd: the urb (seqnum 100265) was already given back
    [ 1947.131863] vhci_hcd: unlink->seqnum 100433
    [ 1947.132557] vhci_hcd: the urb (seqnum 100433) was already given back
    [ 1947.133420] vhci_hcd: unlink->seqnum 100435
    [ 1947.133848] vhci_hcd: the urb (seqnum 100435) was already given back
    [ 1947.277502] ftdi_sio ttyUSB0: usb_serial_generic_read_bulk_callback - urb stopped: -32
    [ 1947.278353] vhci_hcd: unlink->seqnum 100601
    [ 1947.278806] vhci_hcd: the urb (seqnum 100601) was already given back
    [ 1947.421364] ftdi_sio ttyUSB0: usb_serial_generic_read_bulk_callback - urb stopped: -32
    [ 1947.422139] vhci_hcd: unlink->seqnum 100766
    [ 1947.422522] vhci_hcd: the urb (seqnum 100766) was already given back
    [ 1947.564322] ftdi_sio ttyUSB0: usb_serial_generic_read_bulk_callback - urb stopped: -32
    [ 1947.565243] vhci_hcd: unlink->seqnum 100931
    [ 1947.565648] vhci_hcd: the urb (seqnum 100931) was already given back
    [ 1947.708369] ftdi_sio ttyUSB0: usb_serial_generic_read_bulk_callback - urb stopped: -32
    [ 1947.709290] vhci_hcd: unlink->seqnum 101096
    [ 1947.709646] vhci_hcd: the urb (seqnum 101096) was already given back
    [ 1948.271305] vhci_hcd: unlink->seqnum 101700
    [ 1948.271907] vhci_hcd: the urb (seqnum 101700) was already given back
    [ 1948.272566] vhci_hcd: unlink->seqnum 101701
    [ 1948.272967] vhci_hcd: the urb (seqnum 101701) was already given back
    [ 1948.836005] vhci_hcd: unlink->seqnum 102308
    [ 1948.836530] vhci_hcd: the urb (seqnum 102308) was already given back
    [ 1948.837297] vhci_hcd: unlink->seqnum 102310
    [ 1948.837803] vhci_hcd: the urb (seqnum 102310) was already given back
    [ 1951.221720] vhci_hcd: unlink->seqnum 102476
    [ 1951.222227] vhci_hcd: the urb (seqnum 102476) was already given back
    [ 1951.223094] vhci_hcd: unlink->seqnum 102478
    [ 1951.223494] vhci_hcd: the urb (seqnum 102478) was already given back
    [ 1951.366078] vhci_hcd: unlink->seqnum 102645
    [ 1951.366657] vhci_hcd: the urb (seqnum 102645) was already given back
    [ 1951.507570] ftdi_sio ttyUSB0: usb_serial_generic_read_bulk_callback - urb stopped: -32
    [ 1951.508420] vhci_hcd: unlink->seqnum 102809
    [ 1951.508825] vhci_hcd: the urb (seqnum 102809) was already given back
    [ 1951.649614] vhci_hcd: unlink->seqnum 102972
    [ 1951.650215] vhci_hcd: the urb (seqnum 102972) was already given back
    [ 1951.650835] vhci_hcd: unlink->seqnum 102973
    [ 1951.651252] vhci_hcd: the urb (seqnum 102973) was already given back
    [ 1951.793651] vhci_hcd: unlink->seqnum 103135
    [ 1951.794324] vhci_hcd: the urb (seqnum 103135) was already given back
    [ 1951.795432] vhci_hcd: unlink->seqnum 103137
    [ 1951.795971] vhci_hcd: the urb (seqnum 103137) was already given back
    [ 1951.945607] ftdi_sio ttyUSB0: usb_serial_generic_read_bulk_callback - urb stopped: -32
    [ 1951.946650] vhci_hcd: unlink->seqnum 103266
    [ 1951.947846] vhci_hcd: the urb (seqnum 103266) was already given back
    [ 1952.526231] ftdi_sio ttyUSB0: usb_serial_generic_read_bulk_callback - urb stopped: -32
    [ 1952.527052] vhci_hcd: unlink->seqnum 103855
    [ 1952.527565] vhci_hcd: the urb (seqnum 103855) was already given back
    [ 1953.086825] ftdi_sio ttyUSB0: usb_serial_generic_read_bulk_callback - urb stopped: -32
    [ 1953.087673] vhci_hcd: unlink->seqnum 104455
    [ 1953.088135] vhci_hcd: the urb (seqnum 104455) was already given back
    [ 1955.428797] ftdi_sio ttyUSB0: usb_serial_generic_read_bulk_callback - urb stopped: -32
    [ 1955.429715] vhci_hcd: unlink->seqnum 104623
    [ 1955.430191] vhci_hcd: the urb (seqnum 104623) was already given back
    [ 1955.572786] ftdi_sio ttyUSB0: usb_serial_generic_read_bulk_callback - urb stopped: -32
    [ 1955.573645] vhci_hcd: unlink->seqnum 104791
    [ 1955.574106] vhci_hcd: the urb (seqnum 104791) was already given back
    [ 1955.716720] ftdi_sio ttyUSB0: usb_serial_generic_read_bulk_callback - urb stopped: -32
    [ 1955.717641] vhci_hcd: unlink->seqnum 104957
    [ 1955.718139] vhci_hcd: the urb (seqnum 104957) was already given back
    [ 1955.862343] vhci_hcd: unlink->seqnum 105123
    [ 1955.862955] vhci_hcd: the urb (seqnum 105123) was already given back
    [ 1955.863721] vhci_hcd: unlink->seqnum 105125
    [ 1955.864233] vhci_hcd: the urb (seqnum 105125) was already given back
    [ 1956.025327] vhci_hcd: unlink->seqnum 105299
    [ 1956.025921] vhci_hcd: the urb (seqnum 105299) was already given back
    [ 1956.026807] vhci_hcd: unlink->seqnum 105301
    [ 1956.027397] vhci_hcd: the urb (seqnum 105301) was already given back
    [ 1956.168997] ftdi_sio ttyUSB0: usb_serial_generic_read_bulk_callback - urb stopped: -32
    [ 1956.169933] vhci_hcd: unlink->seqnum 105466
    [ 1956.170407] vhci_hcd: the urb (seqnum 105466) was already given back
    [ 1956.730264] ftdi_sio ttyUSB0: usb_serial_generic_read_bulk_callback - urb stopped: -32
    [ 1956.731121] vhci_hcd: unlink->seqnum 106071
    [ 1956.731612] vhci_hcd: the urb (seqnum 106071) was already given back

    #process4 output

    Every 2.0s: python /data/voxl-esc-add-new-params/voxl-esc-tools/voxl-esc-scan.py --enable-debug 1 PW-CONTROL07: Wed Jun 21 17:11:43 2023

    Detected Python version : 3.8.0 (default, Jun 18 2023, 12:37:59)
    [GCC 11.3.0]
    Found voxl-esc tools bin version: 1.2
    INFO: All COM ports:
    /dev/ttyUSB0 : TTL232RG-VREG3V3 - TTL232RG-VREG3V3
    INFO: UART Port Candidates:
    /dev/ttyUSB0
    INFO: Scanning for ESC firmware: /dev/ttyUSB0, baud: 2000000
    UART TX: AF 06 00 00 91 C1
    UART TX: AF 06 18 00 9B C1
    UART TX: AF 06 00 01 50 01
    UART TX: AF 06 18 01 5A 01
    UART TX: AF 06 00 02 10 00
    UART TX: AF 06 18 02 1A 00
    UART TX: AF 06 00 03 D1 C0
    UART TX: AF 06 18 03 DB C0
    INFO: Scanning for ESC firmware: /dev/ttyUSB0, baud: 250000
    UART TX: AF 06 00 00 91 C1
    UART TX: AF 06 18 00 9B C1
    UART TX: AF 06 00 01 50 01
    UART TX: AF 06 18 01 5A 01
    UART TX: AF 06 00 02 10 00
    UART TX: AF 06 18 02 1A 00
    UART TX: AF 06 00 03 D1 C0
    UART TX: AF 06 18 03 DB C0
    INFO: Scanning for ESC firmware: /dev/ttyUSB0, baud: 921600
    UART TX: AF 06 00 00 91 C1
    UART TX: AF 06 18 00 9B C1
    UART TX: AF 06 00 01 50 01
    UART TX: AF 06 18 01 5A 01
    UART TX: AF 06 00 02 10 00
    UART TX: AF 06 18 02 1A 00
    UART TX: AF 06 00 03 D1 C0
    UART TX: AF 06 18 03 DB C0
    INFO: Scanning for ESC firmware: /dev/ttyUSB0, baud: 230400
    UART TX: AF 06 00 00 91 C1
    UART TX: AF 06 18 00 9B C1
    UART TX: AF 06 00 01 50 01
    UART TX: AF 06 18 01 5A 01
    UART TX: AF 06 00 02 10 00
    UART TX: AF 06 18 02 1A 00
    UART TX: AF 06 00 03 D1 C0
    UART TX: AF 06 18 03 DB C0
    INFO: Scanning for ESC firmware: /dev/ttyUSB0, baud: 57600
    UART TX: AF 06 00 00 91 C1
    UART TX: AF 06 18 00 9B C1
    UART TX: AF 06 00 01 50 01
    UART TX: AF 06 18 01 5A 01
    UART TX: AF 06 00 02 10 00
    UART TX: AF 06 18 02 1A 00
    UART TX: AF 06 00 03 D1 C0
    UART TX: AF 06 18 03 DB C0
    INFO: Scanning for ESC firmware: /dev/ttyUSB0, baud: 115200
    UART TX: AF 06 00 00 91 C1
    UART TX: AF 06 18 00 9B C1
    UART TX: AF 06 00 01 50 01
    UART TX: AF 06 18 01 5A 01
    UART TX: AF 06 00 02 10 00
    UART TX: AF 06 18 02 1A 00
    UART TX: AF 06 00 03 D1 C0
    UART TX: AF 06 18 03 DB C0
    INFO: Scanning for ESC bootloader: /dev/ttyUSB0, baud: 38400
    UART TX: AF 06 00 00 91 C1
    UART TX: AF 06 18 00 9B C1
    UART TX: AF 06 00 01 50 01
    UART TX: AF 06 18 01 5A 01
    UART TX: AF 06 00 02 10 00
    UART TX: AF 06 18 02 1A 00
    UART TX: AF 06 00 03 D1 C0
    UART TX: AF 06 18 03 DB C0
    UART TX: FA FA 00 05 64 32 3E 65 1A
    UART TX: FA FA 00 05 64 32 3E 65 1A
    UART TX: FA FA 00 05 64 32 3E 65 1A
    UART TX: FA FA 00 05 64 32 3E 65 1A
    UART TX: FA FA 00 05 64 32 3E 65 1A
    UART TX: FA FA 00 05 65 B5 92 BD 1B
    UART TX: FA FA 00 05 65 B5 92 BD 1B
    UART TX: FA FA 00 05 65 B5 92 BD 1B
    UART TX: FA FA 00 05 65 B5 92 BD 1B
    UART TX: FA FA 00 05 65 B5 92 BD 1B
    UART TX: FA FA 00 05 66 3C 67 D4 19

    Alex KushleyevA 1 Reply Last reply
    0
    • E ErezI

      @Alex-Kushleyev

      Hi Alex,

      I added my tests' info using wsl2 (no success)

      on windows

      #process0
      C:\Program Files\usbipd-win>usbipd server

      on wsl (f55a-cyclic.sh)

      #!/bin/bash
      sudo echo 1 > /sys/bus/usb-serial/devices/ttyUSB0/latency_timer
      sleep 5

      #proces1
      sudo nome-terminal -x ./auto-attach.sh 172.24.192.1 3-2
      sleep 3

      #process2
      sudo gnome-terminal -x watch "ls -al /dev | egrep ttyU"
      sleep 3

      #process3
      sudo gnome-terminal -x dmesg -W
      sleep 3

      #process4
      sudo gnome-terminal --working-directory=/data/voxl-esc-add-new-params/voxl-esc-tools/ -x watch "python /data/voxl-esc-add-new-params/voxl-esc-tools/voxl-esc-scan.py --enable-debug 1"

      sleep 30
      ps -a
      sleep 3
      sudo pkill -9 gnome-terminal
      pkill -9 gnome-terminal
      sleep 5

      #process0 output

      C:\Program Files\usbipd-win>usbipd server
      info: Microsoft.Hosting.Lifetime[0]
      Application started. Press Ctrl+C to shut down.
      info: Microsoft.Hosting.Lifetime[0]
      Hosting environment: Production
      info: Microsoft.Hosting.Lifetime[0]
      Content root path: C:\Program Files\usbipd-win
      info: Usbipd.ConnectedClient[1]
      Client 172.24.199.17 claimed device at 3-2 (USB\VID_0403&PID_6001\FT4TW3LE).
      info: Usbipd.ConnectedClient[2]
      Client 172.24.199.17 released device at 3-2 (USB\VID_0403&PID_6001\FT4TW3LE).
      info: Usbipd.ConnectedClient[1]
      Client 172.24.199.17 claimed device at 3-2 (USB\VID_0403&PID_6001\FT4TW3LE).
      info: Usbipd.ConnectedClient[2]
      Client 172.24.199.17 released device at 3-2 (USB\VID_0403&PID_6001\FT4TW3LE).
      info: Usbipd.ConnectedClient[1]
      Client 172.24.199.17 claimed device at 3-2 (USB\VID_0403&PID_6001\FT4TW3LE).

      #process1 output

      usbip: error: Attach Request for 3-2 failed - Device not found
      Attached
      Detached
      usbip: error: Attach Request for 3-2 failed - Device not found
      Attached
      Detached
      Attached

      #process2 output

      Every 2.0s: ls -al /dev | egrep ttyU PW-CONTROL07: Wed Jun 21 17:06:16 2023

      crw------- 1 root root 188, 0 Jun 21 2023 ttyUSB0

      #process3 output

      [ 1892.623021] vhci_hcd vhci_hcd.0: pdev(0) rhport(0) sockfd(3)
      [ 1892.628241] vhci_hcd vhci_hcd.0: devid(196610) speed(2) speed_str(full-speed)
      [ 1892.630748] vhci_hcd vhci_hcd.0: Device attached
      [ 1892.914403] vhci_hcd: vhci_device speed not set
      [ 1892.984269] usb 1-1: new full-speed USB device number 18 using vhci_hcd
      [ 1893.084280] vhci_hcd: vhci_device speed not set
      [ 1893.164250] usb 1-1: SetAddress Request (18) to port 0
      [ 1893.604492] usb 1-1: New USB device found, idVendor=0403, idProduct=6001, bcdDevice= 6.00
      [ 1893.606748] usb 1-1: New USB device strings: Mfr=1, Product=2, SerialNumber=3
      [ 1893.609072] usb 1-1: Product: TTL232RG-VREG3V3
      [ 1893.609980] usb 1-1: Manufacturer: FTDI
      [ 1893.610659] usb 1-1: SerialNumber: FT4TW3LE
      [ 1893.623736] ftdi_sio 1-1:1.0: FTDI USB Serial Device converter detected
      [ 1893.625770] usb 1-1: Detected FT232RL
      [ 1893.632497] usb 1-1: FTDI USB Serial Device converter now attached to ttyUSB0
      [ 1895.017816] vhci_hcd: unlink->seqnum 81017
      [ 1895.018495] vhci_hcd: the urb (seqnum 81017) was already given back
      [ 1895.019313] vhci_hcd: unlink->seqnum 81019
      [ 1895.019856] vhci_hcd: the urb (seqnum 81019) was already given back
      [ 1895.163809] ftdi_sio ttyUSB0: usb_serial_generic_read_bulk_callback - urb stopped: -32
      [ 1895.164874] vhci_hcd: unlink->seqnum 81055
      [ 1895.165354] vhci_hcd: the urb (seqnum 81055) was already given back
      [ 1895.310820] ftdi_sio ttyUSB0: usb_serial_generic_read_bulk_callback - urb stopped: -32
      [ 1895.311921] vhci_hcd: unlink->seqnum 81089
      [ 1895.312494] vhci_hcd: the urb (seqnum 81089) was already given back
      [ 1895.461562] ftdi_sio ttyUSB0: usb_serial_generic_read_bulk_callback - urb stopped: -32
      [ 1895.464395] vhci_hcd: unlink->seqnum 81123
      [ 1895.466541] vhci_hcd: the urb (seqnum 81123) was already given back
      [ 1895.628411] ftdi_sio ttyUSB0: usb_serial_generic_read_bulk_callback - urb stopped: -32
      [ 1895.630861] vhci_hcd: unlink->seqnum 81158
      [ 1895.632078] vhci_hcd: the urb (seqnum 81158) was already given back
      [ 1895.784242] ftdi_sio ttyUSB0: usb_serial_generic_read_bulk_callback - urb stopped: -32
      [ 1895.785161] vhci_hcd: unlink->seqnum 81193
      [ 1895.785654] vhci_hcd: the urb (seqnum 81193) was already given back
      [ 1896.349788] ftdi_sio ttyUSB0: usb_serial_generic_read_bulk_callback - urb stopped: -32
      [ 1896.350886] vhci_hcd: unlink->seqnum 81521
      [ 1896.351526] vhci_hcd: the urb (seqnum 81521) was already given back
      [ 1896.914474] ftdi_sio ttyUSB0: usb_serial_generic_read_bulk_callback - urb stopped: -32
      [ 1896.915333] vhci_hcd: unlink->seqnum 82125
      [ 1896.915797] vhci_hcd: the urb (seqnum 82125) was already given back
      [ 1899.267100] vhci_hcd: unlink->seqnum 82295
      [ 1899.267747] vhci_hcd: the urb (seqnum 82295) was already given back
      [ 1899.268576] vhci_hcd: unlink->seqnum 82297
      [ 1899.269365] vhci_hcd: the urb (seqnum 82297) was already given back
      [ 1899.416402] ftdi_sio ttyUSB0: usb_serial_generic_read_bulk_callback - urb stopped: -32
      [ 1899.417294] vhci_hcd: unlink->seqnum 82468
      [ 1899.417874] vhci_hcd: the urb (seqnum 82468) was already given back
      [ 1899.561474] vhci_hcd: unlink->seqnum 82634
      [ 1899.562043] vhci_hcd: the urb (seqnum 82634) was already given back
      [ 1899.562994] vhci_hcd: unlink->seqnum 82636
      [ 1899.563598] vhci_hcd: the urb (seqnum 82636) was already given back
      [ 1899.708527] ftdi_sio ttyUSB0: usb_serial_generic_read_bulk_callback - urb stopped: -32
      [ 1899.710263] vhci_hcd: unlink->seqnum 82802
      [ 1899.711258] vhci_hcd: the urb (seqnum 82802) was already given back
      [ 1899.859324] ftdi_sio ttyUSB0: usb_serial_generic_read_bulk_callback - urb stopped: -32
      [ 1899.860214] vhci_hcd: unlink->seqnum 82958
      [ 1899.860859] vhci_hcd: the urb (seqnum 82958) was already given back
      [ 1900.003321] ftdi_sio ttyUSB0: usb_serial_generic_read_bulk_callback - urb stopped: -32
      [ 1900.004322] vhci_hcd: unlink->seqnum 83123
      [ 1900.004759] vhci_hcd: the urb (seqnum 83123) was already given back
      [ 1900.567465] ftdi_sio ttyUSB0: usb_serial_generic_read_bulk_callback - urb stopped: -32
      [ 1900.568335] vhci_hcd: unlink->seqnum 83730
      [ 1900.568811] vhci_hcd: the urb (seqnum 83730) was already given back
      [ 1901.130609] ftdi_sio ttyUSB0: usb_serial_generic_read_bulk_callback - urb stopped: -32
      [ 1901.131840] vhci_hcd: unlink->seqnum 84335
      [ 1901.132850] vhci_hcd: the urb (seqnum 84335) was already given back
      [ 1903.459054] vhci_hcd: unlink->seqnum 84493
      [ 1903.460300] vhci_hcd: the urb (seqnum 84493) was already given back
      [ 1903.461365] vhci_hcd: unlink->seqnum 84495
      [ 1903.462478] vhci_hcd: the urb (seqnum 84495) was already given back
      [ 1903.611008] ftdi_sio ttyUSB0: usb_serial_generic_read_bulk_callback - urb stopped: -32
      [ 1903.611918] vhci_hcd: unlink->seqnum 84668
      [ 1903.612309] vhci_hcd: the urb (seqnum 84668) was already given back
      [ 1903.757928] ftdi_sio ttyUSB0: usb_serial_generic_read_bulk_callback - urb stopped: -32
      [ 1903.758831] vhci_hcd: unlink->seqnum 84837
      [ 1903.759266] vhci_hcd: the urb (seqnum 84837) was already given back
      [ 1903.904994] vhci_hcd: unlink->seqnum 85001
      [ 1903.905570] vhci_hcd: the urb (seqnum 85001) was already given back
      [ 1903.906408] vhci_hcd: unlink->seqnum 85003
      [ 1903.906866] vhci_hcd: the urb (seqnum 85003) was already given back
      [ 1904.055495] ftdi_sio ttyUSB0: usb_serial_generic_read_bulk_callback - urb stopped: -32
      [ 1904.056528] vhci_hcd: unlink->seqnum 85174
      [ 1904.057186] vhci_hcd: the urb (seqnum 85174) was already given back
      [ 1904.199584] vhci_hcd: unlink->seqnum 85340
      [ 1904.200320] vhci_hcd: the urb (seqnum 85340) was already given back
      [ 1904.201153] vhci_hcd: unlink->seqnum 85342
      [ 1904.201755] vhci_hcd: the urb (seqnum 85342) was already given back
      [ 1904.770065] ftdi_sio ttyUSB0: usb_serial_generic_read_bulk_callback - urb stopped: -32
      [ 1904.771215] vhci_hcd: unlink->seqnum 85941
      [ 1904.793412] vhci_hcd: the urb (seqnum 85941) was already given back
      [ 1905.378980] vhci_hcd: unlink->seqnum 86540
      [ 1905.379524] vhci_hcd: the urb (seqnum 86540) was already given back
      [ 1905.380213] vhci_hcd: unlink->seqnum 86542
      [ 1905.380672] vhci_hcd: the urb (seqnum 86542) was already given back
      [ 1907.712779] ftdi_sio ttyUSB0: usb_serial_generic_read_bulk_callback - urb stopped: -32
      [ 1907.713839] vhci_hcd: unlink->seqnum 86708
      [ 1907.714369] vhci_hcd: the urb (seqnum 86708) was already given back
      [ 1907.856827] ftdi_sio ttyUSB0: usb_serial_generic_read_bulk_callback - urb stopped: -32
      [ 1907.857885] vhci_hcd: unlink->seqnum 86873
      [ 1907.858613] vhci_hcd: the urb (seqnum 86873) was already given back
      [ 1908.000380] vhci_hcd: unlink->seqnum 87037
      [ 1908.000990] vhci_hcd: the urb (seqnum 87037) was already given back
      [ 1908.001894] vhci_hcd: unlink->seqnum 87039
      [ 1908.002283] vhci_hcd: the urb (seqnum 87039) was already given back
      [ 1908.144051] ftdi_sio ttyUSB0: usb_serial_generic_read_bulk_callback - urb stopped: -32
      [ 1908.145049] vhci_hcd: unlink->seqnum 87203
      [ 1908.145540] vhci_hcd: the urb (seqnum 87203) was already given back
      [ 1908.287037] ftdi_sio ttyUSB0: usb_serial_generic_read_bulk_callback - urb stopped: -32
      [ 1908.287877] vhci_hcd: unlink->seqnum 87365
      [ 1908.288349] vhci_hcd: the urb (seqnum 87365) was already given back
      [ 1908.429762] ftdi_sio ttyUSB0: usb_serial_generic_read_bulk_callback - urb stopped: -32
      [ 1908.430658] vhci_hcd: unlink->seqnum 87530
      [ 1908.431205] vhci_hcd: the urb (seqnum 87530) was already given back
      [ 1908.985317] ftdi_sio ttyUSB0: usb_serial_generic_read_bulk_callback - urb stopped: -32
      [ 1908.986189] vhci_hcd: unlink->seqnum 88127
      [ 1908.986661] vhci_hcd: the urb (seqnum 88127) was already given back
      [ 1909.548749] ftdi_sio ttyUSB0: usb_serial_generic_read_bulk_callback - urb stopped: -32
      [ 1909.549567] vhci_hcd: unlink->seqnum 88733
      [ 1909.550019] vhci_hcd: the urb (seqnum 88733) was already given back
      [ 1911.260690] vhci_hcd: connection closed
      [ 1911.261065] vhci_hcd: stop threads
      [ 1911.269459] vhci_hcd: release socket
      [ 1911.270215] vhci_hcd: disconnect device
      [ 1911.270792] usb 1-1: USB disconnect, device number 18
      [ 1911.271620] ftdi_sio ttyUSB0: FTDI USB Serial Device converter now disconnected from ttyUSB0
      [ 1911.272759] ftdi_sio 1-1:1.0: device disconnected
      [ 1919.686333] vhci_hcd vhci_hcd.0: pdev(0) rhport(0) sockfd(3)
      [ 1919.694426] vhci_hcd vhci_hcd.0: devid(196610) speed(2) speed_str(full-speed)
      [ 1919.695445] vhci_hcd vhci_hcd.0: Device attached
      [ 1919.974230] vhci_hcd: vhci_device speed not set
      [ 1920.054310] usb 1-1: new full-speed USB device number 19 using vhci_hcd
      [ 1920.134299] vhci_hcd: vhci_device speed not set
      [ 1920.204355] usb 1-1: SetAddress Request (19) to port 0
      [ 1920.271386] usb 1-1: New USB device found, idVendor=0403, idProduct=6001, bcdDevice= 6.00
      [ 1920.272654] usb 1-1: New USB device strings: Mfr=1, Product=2, SerialNumber=3
      [ 1920.276426] usb 1-1: Product: TTL232RG-VREG3V3
      [ 1920.283974] usb 1-1: Manufacturer: FTDI
      [ 1920.284659] usb 1-1: SerialNumber: FT4TW3LE
      [ 1920.290771] ftdi_sio 1-1:1.0: FTDI USB Serial Device converter detected
      [ 1920.294102] usb 1-1: Detected FT232RL
      [ 1920.302218] usb 1-1: FTDI USB Serial Device converter now attached to ttyUSB0
      [ 1921.677956] ftdi_sio ttyUSB0: usb_serial_generic_read_bulk_callback - urb stopped: -32
      [ 1921.678813] vhci_hcd: unlink->seqnum 88782
      [ 1921.679423] vhci_hcd: the urb (seqnum 88782) was already given back
      [ 1921.876417] vhci_hcd: unlink->seqnum 88820
      [ 1921.879762] vhci_hcd: the urb (seqnum 88820) was already given back
      [ 1921.881034] vhci_hcd: unlink->seqnum 88822
      [ 1921.882547] vhci_hcd: the urb (seqnum 88822) was already given back
      [ 1922.043477] ftdi_sio ttyUSB0: usb_serial_generic_read_bulk_callback - urb stopped: -32
      [ 1922.044895] vhci_hcd: unlink->seqnum 88857
      [ 1922.047776] vhci_hcd: the urb (seqnum 88857) was already given back
      [ 1922.198003] ftdi_sio ttyUSB0: usb_serial_generic_read_bulk_callback - urb stopped: -32
      [ 1922.199267] vhci_hcd: unlink->seqnum 88892
      [ 1922.201613] vhci_hcd: the urb (seqnum 88892) was already given back
      [ 1922.347202] ftdi_sio ttyUSB0: usb_serial_generic_read_bulk_callback - urb stopped: -32
      [ 1922.348165] vhci_hcd: unlink->seqnum 88926
      [ 1922.348714] vhci_hcd: the urb (seqnum 88926) was already given back
      [ 1922.499077] vhci_hcd: unlink->seqnum 88960
      [ 1922.501091] vhci_hcd: the urb (seqnum 88960) was already given back
      [ 1922.502717] vhci_hcd: unlink->seqnum 88962
      [ 1922.503551] vhci_hcd: the urb (seqnum 88962) was already given back
      [ 1923.072953] ftdi_sio ttyUSB0: usb_serial_generic_read_bulk_callback - urb stopped: -32
      [ 1923.073985] vhci_hcd: unlink->seqnum 89043
      [ 1923.074516] vhci_hcd: the urb (seqnum 89043) was already given back
      [ 1923.635175] ftdi_sio ttyUSB0: usb_serial_generic_read_bulk_callback - urb stopped: -32
      [ 1923.636452] vhci_hcd: unlink->seqnum 89124
      [ 1923.639462] vhci_hcd: the urb (seqnum 89124) was already given back
      [ 1925.988300] ftdi_sio ttyUSB0: usb_serial_generic_read_bulk_callback - urb stopped: -32
      [ 1925.989173] vhci_hcd: unlink->seqnum 89294
      [ 1925.989803] vhci_hcd: the urb (seqnum 89294) was already given back
      [ 1926.134048] ftdi_sio ttyUSB0: usb_serial_generic_read_bulk_callback - urb stopped: -32
      [ 1926.135052] vhci_hcd: unlink->seqnum 89463
      [ 1926.135819] vhci_hcd: the urb (seqnum 89463) was already given back
      [ 1926.278682] ftdi_sio ttyUSB0: usb_serial_generic_read_bulk_callback - urb stopped: -32
      [ 1926.279729] vhci_hcd: unlink->seqnum 89630
      [ 1926.280229] vhci_hcd: the urb (seqnum 89630) was already given back
      [ 1926.421818] ftdi_sio ttyUSB0: usb_serial_generic_read_bulk_callback - urb stopped: -32
      [ 1926.422654] vhci_hcd: unlink->seqnum 89795
      [ 1926.423078] vhci_hcd: the urb (seqnum 89795) was already given back
      [ 1926.564779] ftdi_sio ttyUSB0: usb_serial_generic_read_bulk_callback - urb stopped: -32
      [ 1926.565697] vhci_hcd: unlink->seqnum 89960
      [ 1926.566098] vhci_hcd: the urb (seqnum 89960) was already given back
      [ 1926.708525] ftdi_sio ttyUSB0: usb_serial_generic_read_bulk_callback - urb stopped: -32
      [ 1926.709465] vhci_hcd: unlink->seqnum 90126
      [ 1926.709876] vhci_hcd: the urb (seqnum 90126) was already given back
      [ 1927.274337] ftdi_sio ttyUSB0: usb_serial_generic_read_bulk_callback - urb stopped: -32
      [ 1927.275263] vhci_hcd: unlink->seqnum 90734
      [ 1927.275660] vhci_hcd: the urb (seqnum 90734) was already given back
      [ 1927.845187] vhci_hcd: unlink->seqnum 91344
      [ 1927.850883] vhci_hcd: the urb (seqnum 91344) was already given back
      [ 1927.851973] vhci_hcd: unlink->seqnum 91345
      [ 1927.852996] vhci_hcd: the urb (seqnum 91345) was already given back
      [ 1930.171018] ftdi_sio ttyUSB0: usb_serial_generic_read_bulk_callback - urb stopped: -32
      [ 1930.171928] vhci_hcd: unlink->seqnum 91510
      [ 1930.172363] vhci_hcd: the urb (seqnum 91510) was already given back
      [ 1930.314139] vhci_hcd: unlink->seqnum 91677
      [ 1930.314704] vhci_hcd: the urb (seqnum 91677) was already given back
      [ 1930.315339] vhci_hcd: unlink->seqnum 91678
      [ 1930.315820] vhci_hcd: the urb (seqnum 91678) was already given back
      [ 1930.459077] vhci_hcd: unlink->seqnum 91844
      [ 1930.459613] vhci_hcd: the urb (seqnum 91844) was already given back
      [ 1930.460384] vhci_hcd: unlink->seqnum 91846
      [ 1930.460758] vhci_hcd: the urb (seqnum 91846) was already given back
      [ 1930.604012] vhci_hcd: unlink->seqnum 92012
      [ 1930.604595] vhci_hcd: the urb (seqnum 92012) was already given back
      [ 1930.605499] vhci_hcd: unlink->seqnum 92014
      [ 1930.605943] vhci_hcd: the urb (seqnum 92014) was already given back
      [ 1930.749651] ftdi_sio ttyUSB0: usb_serial_generic_read_bulk_callback - urb stopped: -32
      [ 1930.750537] vhci_hcd: unlink->seqnum 92180
      [ 1930.750994] vhci_hcd: the urb (seqnum 92180) was already given back
      [ 1930.892499] ftdi_sio ttyUSB0: usb_serial_generic_read_bulk_callback - urb stopped: -32
      [ 1930.893423] vhci_hcd: unlink->seqnum 92342
      [ 1930.893815] vhci_hcd: the urb (seqnum 92342) was already given back
      [ 1931.450515] vhci_hcd: unlink->seqnum 92942
      [ 1931.451036] vhci_hcd: the urb (seqnum 92942) was already given back
      [ 1931.451855] vhci_hcd: unlink->seqnum 92943
      [ 1931.452310] vhci_hcd: the urb (seqnum 92943) was already given back
      [ 1932.005934] ftdi_sio ttyUSB0: usb_serial_generic_read_bulk_callback - urb stopped: -32
      [ 1932.007079] vhci_hcd: unlink->seqnum 93538
      [ 1932.008051] vhci_hcd: the urb (seqnum 93538) was already given back
      [ 1934.344638] vhci_hcd: unlink->seqnum 93705
      [ 1934.345318] vhci_hcd: the urb (seqnum 93705) was already given back
      [ 1934.346020] vhci_hcd: unlink->seqnum 93707
      [ 1934.346914] vhci_hcd: the urb (seqnum 93707) was already given back
      [ 1934.492421] vhci_hcd: unlink->seqnum 93877
      [ 1934.493007] vhci_hcd: the urb (seqnum 93877) was already given back
      [ 1934.493725] vhci_hcd: unlink->seqnum 93879
      [ 1934.494085] vhci_hcd: the urb (seqnum 93879) was already given back
      [ 1934.635685] vhci_hcd: unlink->seqnum 94043
      [ 1934.636305] vhci_hcd: the urb (seqnum 94043) was already given back
      [ 1934.637020] vhci_hcd: unlink->seqnum 94045
      [ 1934.637408] vhci_hcd: the urb (seqnum 94045) was already given back
      [ 1934.781906] ftdi_sio ttyUSB0: usb_serial_generic_read_bulk_callback - urb stopped: -32
      [ 1934.782873] vhci_hcd: unlink->seqnum 94212
      [ 1934.783484] vhci_hcd: the urb (seqnum 94212) was already given back
      [ 1934.928139] ftdi_sio ttyUSB0: usb_serial_generic_read_bulk_callback - urb stopped: -32
      [ 1934.929093] vhci_hcd: unlink->seqnum 94374
      [ 1934.929506] vhci_hcd: the urb (seqnum 94374) was already given back
      [ 1935.072487] vhci_hcd: unlink->seqnum 94540
      [ 1935.073073] vhci_hcd: the urb (seqnum 94540) was already given back
      [ 1935.073747] vhci_hcd: unlink->seqnum 94542
      [ 1935.074123] vhci_hcd: the urb (seqnum 94542) was already given back
      [ 1935.636666] vhci_hcd: unlink->seqnum 95136
      [ 1935.637325] vhci_hcd: the urb (seqnum 95136) was already given back
      [ 1935.638064] vhci_hcd: unlink->seqnum 95137
      [ 1935.638408] vhci_hcd: the urb (seqnum 95137) was already given back
      [ 1936.206561] ftdi_sio ttyUSB0: usb_serial_generic_read_bulk_callback - urb stopped: -32
      [ 1936.207426] vhci_hcd: unlink->seqnum 95734
      [ 1936.207861] vhci_hcd: the urb (seqnum 95734) was already given back
      [ 1938.546194] vhci_hcd: unlink->seqnum 95901
      [ 1938.547045] vhci_hcd: the urb (seqnum 95901) was already given back
      [ 1938.547876] vhci_hcd: unlink->seqnum 95902
      [ 1938.548267] vhci_hcd: the urb (seqnum 95902) was already given back
      [ 1938.693577] vhci_hcd: unlink->seqnum 96071
      [ 1938.694092] vhci_hcd: the urb (seqnum 96071) was already given back
      [ 1938.835928] ftdi_sio ttyUSB0: usb_serial_generic_read_bulk_callback - urb stopped: -32
      [ 1938.836732] vhci_hcd: unlink->seqnum 96236
      [ 1938.837195] vhci_hcd: the urb (seqnum 96236) was already given back
      [ 1938.987705] ftdi_sio ttyUSB0: usb_serial_generic_read_bulk_callback - urb stopped: -32
      [ 1938.988677] vhci_hcd: unlink->seqnum 96353
      [ 1938.989499] vhci_hcd: the urb (seqnum 96353) was already given back
      [ 1939.135970] vhci_hcd: unlink->seqnum 96522
      [ 1939.136689] vhci_hcd: the urb (seqnum 96522) was already given back
      [ 1939.137357] vhci_hcd: unlink->seqnum 96523
      [ 1939.137810] vhci_hcd: the urb (seqnum 96523) was already given back
      [ 1939.281588] ftdi_sio ttyUSB0: usb_serial_generic_read_bulk_callback - urb stopped: -32
      [ 1939.282484] vhci_hcd: unlink->seqnum 96689
      [ 1939.282888] vhci_hcd: the urb (seqnum 96689) was already given back
      [ 1939.845544] vhci_hcd: unlink->seqnum 97291
      [ 1939.846182] vhci_hcd: the urb (seqnum 97291) was already given back
      [ 1939.846917] vhci_hcd: unlink->seqnum 97292
      [ 1939.847364] vhci_hcd: the urb (seqnum 97292) was already given back
      [ 1940.417903] ftdi_sio ttyUSB0: usb_serial_generic_read_bulk_callback - urb stopped: -32
      [ 1940.418750] vhci_hcd: unlink->seqnum 97899
      [ 1940.419149] vhci_hcd: the urb (seqnum 97899) was already given back
      [ 1942.755591] ftdi_sio ttyUSB0: usb_serial_generic_read_bulk_callback - urb stopped: -32
      [ 1942.756589] vhci_hcd: unlink->seqnum 98066
      [ 1942.757790] vhci_hcd: the urb (seqnum 98066) was already given back
      [ 1942.911059] vhci_hcd: unlink->seqnum 98221
      [ 1942.922839] vhci_hcd: the urb (seqnum 98221) was already given back
      [ 1942.924368] vhci_hcd: unlink->seqnum 98222
      [ 1942.925054] vhci_hcd: the urb (seqnum 98222) was already given back
      [ 1943.070474] ftdi_sio ttyUSB0: usb_serial_generic_read_bulk_callback - urb stopped: -32
      [ 1943.071268] vhci_hcd: unlink->seqnum 98389
      [ 1943.071663] vhci_hcd: the urb (seqnum 98389) was already given back
      [ 1943.214148] ftdi_sio ttyUSB0: usb_serial_generic_read_bulk_callback - urb stopped: -32
      [ 1943.215327] vhci_hcd: unlink->seqnum 98555
      [ 1943.216018] vhci_hcd: the urb (seqnum 98555) was already given back
      [ 1943.357497] vhci_hcd: unlink->seqnum 98720
      [ 1943.358063] vhci_hcd: the urb (seqnum 98720) was already given back
      [ 1943.358735] vhci_hcd: unlink->seqnum 98721
      [ 1943.359371] vhci_hcd: the urb (seqnum 98721) was already given back
      [ 1943.500841] ftdi_sio ttyUSB0: usb_serial_generic_read_bulk_callback - urb stopped: -32
      [ 1943.501779] vhci_hcd: unlink->seqnum 98886
      [ 1943.502181] vhci_hcd: the urb (seqnum 98886) was already given back
      [ 1944.063008] ftdi_sio ttyUSB0: usb_serial_generic_read_bulk_callback - urb stopped: -32
      [ 1944.064232] vhci_hcd: unlink->seqnum 99489
      [ 1944.064739] vhci_hcd: the urb (seqnum 99489) was already given back
      [ 1944.632563] vhci_hcd: unlink->seqnum 100100
      [ 1944.633273] vhci_hcd: the urb (seqnum 100100) was already given back
      [ 1944.634220] vhci_hcd: unlink->seqnum 100102
      [ 1944.634954] vhci_hcd: the urb (seqnum 100102) was already given back
      [ 1946.987708] ftdi_sio ttyUSB0: usb_serial_generic_read_bulk_callback - urb stopped: -32
      [ 1946.988507] vhci_hcd: unlink->seqnum 100265
      [ 1946.988882] vhci_hcd: the urb (seqnum 100265) was already given back
      [ 1947.131863] vhci_hcd: unlink->seqnum 100433
      [ 1947.132557] vhci_hcd: the urb (seqnum 100433) was already given back
      [ 1947.133420] vhci_hcd: unlink->seqnum 100435
      [ 1947.133848] vhci_hcd: the urb (seqnum 100435) was already given back
      [ 1947.277502] ftdi_sio ttyUSB0: usb_serial_generic_read_bulk_callback - urb stopped: -32
      [ 1947.278353] vhci_hcd: unlink->seqnum 100601
      [ 1947.278806] vhci_hcd: the urb (seqnum 100601) was already given back
      [ 1947.421364] ftdi_sio ttyUSB0: usb_serial_generic_read_bulk_callback - urb stopped: -32
      [ 1947.422139] vhci_hcd: unlink->seqnum 100766
      [ 1947.422522] vhci_hcd: the urb (seqnum 100766) was already given back
      [ 1947.564322] ftdi_sio ttyUSB0: usb_serial_generic_read_bulk_callback - urb stopped: -32
      [ 1947.565243] vhci_hcd: unlink->seqnum 100931
      [ 1947.565648] vhci_hcd: the urb (seqnum 100931) was already given back
      [ 1947.708369] ftdi_sio ttyUSB0: usb_serial_generic_read_bulk_callback - urb stopped: -32
      [ 1947.709290] vhci_hcd: unlink->seqnum 101096
      [ 1947.709646] vhci_hcd: the urb (seqnum 101096) was already given back
      [ 1948.271305] vhci_hcd: unlink->seqnum 101700
      [ 1948.271907] vhci_hcd: the urb (seqnum 101700) was already given back
      [ 1948.272566] vhci_hcd: unlink->seqnum 101701
      [ 1948.272967] vhci_hcd: the urb (seqnum 101701) was already given back
      [ 1948.836005] vhci_hcd: unlink->seqnum 102308
      [ 1948.836530] vhci_hcd: the urb (seqnum 102308) was already given back
      [ 1948.837297] vhci_hcd: unlink->seqnum 102310
      [ 1948.837803] vhci_hcd: the urb (seqnum 102310) was already given back
      [ 1951.221720] vhci_hcd: unlink->seqnum 102476
      [ 1951.222227] vhci_hcd: the urb (seqnum 102476) was already given back
      [ 1951.223094] vhci_hcd: unlink->seqnum 102478
      [ 1951.223494] vhci_hcd: the urb (seqnum 102478) was already given back
      [ 1951.366078] vhci_hcd: unlink->seqnum 102645
      [ 1951.366657] vhci_hcd: the urb (seqnum 102645) was already given back
      [ 1951.507570] ftdi_sio ttyUSB0: usb_serial_generic_read_bulk_callback - urb stopped: -32
      [ 1951.508420] vhci_hcd: unlink->seqnum 102809
      [ 1951.508825] vhci_hcd: the urb (seqnum 102809) was already given back
      [ 1951.649614] vhci_hcd: unlink->seqnum 102972
      [ 1951.650215] vhci_hcd: the urb (seqnum 102972) was already given back
      [ 1951.650835] vhci_hcd: unlink->seqnum 102973
      [ 1951.651252] vhci_hcd: the urb (seqnum 102973) was already given back
      [ 1951.793651] vhci_hcd: unlink->seqnum 103135
      [ 1951.794324] vhci_hcd: the urb (seqnum 103135) was already given back
      [ 1951.795432] vhci_hcd: unlink->seqnum 103137
      [ 1951.795971] vhci_hcd: the urb (seqnum 103137) was already given back
      [ 1951.945607] ftdi_sio ttyUSB0: usb_serial_generic_read_bulk_callback - urb stopped: -32
      [ 1951.946650] vhci_hcd: unlink->seqnum 103266
      [ 1951.947846] vhci_hcd: the urb (seqnum 103266) was already given back
      [ 1952.526231] ftdi_sio ttyUSB0: usb_serial_generic_read_bulk_callback - urb stopped: -32
      [ 1952.527052] vhci_hcd: unlink->seqnum 103855
      [ 1952.527565] vhci_hcd: the urb (seqnum 103855) was already given back
      [ 1953.086825] ftdi_sio ttyUSB0: usb_serial_generic_read_bulk_callback - urb stopped: -32
      [ 1953.087673] vhci_hcd: unlink->seqnum 104455
      [ 1953.088135] vhci_hcd: the urb (seqnum 104455) was already given back
      [ 1955.428797] ftdi_sio ttyUSB0: usb_serial_generic_read_bulk_callback - urb stopped: -32
      [ 1955.429715] vhci_hcd: unlink->seqnum 104623
      [ 1955.430191] vhci_hcd: the urb (seqnum 104623) was already given back
      [ 1955.572786] ftdi_sio ttyUSB0: usb_serial_generic_read_bulk_callback - urb stopped: -32
      [ 1955.573645] vhci_hcd: unlink->seqnum 104791
      [ 1955.574106] vhci_hcd: the urb (seqnum 104791) was already given back
      [ 1955.716720] ftdi_sio ttyUSB0: usb_serial_generic_read_bulk_callback - urb stopped: -32
      [ 1955.717641] vhci_hcd: unlink->seqnum 104957
      [ 1955.718139] vhci_hcd: the urb (seqnum 104957) was already given back
      [ 1955.862343] vhci_hcd: unlink->seqnum 105123
      [ 1955.862955] vhci_hcd: the urb (seqnum 105123) was already given back
      [ 1955.863721] vhci_hcd: unlink->seqnum 105125
      [ 1955.864233] vhci_hcd: the urb (seqnum 105125) was already given back
      [ 1956.025327] vhci_hcd: unlink->seqnum 105299
      [ 1956.025921] vhci_hcd: the urb (seqnum 105299) was already given back
      [ 1956.026807] vhci_hcd: unlink->seqnum 105301
      [ 1956.027397] vhci_hcd: the urb (seqnum 105301) was already given back
      [ 1956.168997] ftdi_sio ttyUSB0: usb_serial_generic_read_bulk_callback - urb stopped: -32
      [ 1956.169933] vhci_hcd: unlink->seqnum 105466
      [ 1956.170407] vhci_hcd: the urb (seqnum 105466) was already given back
      [ 1956.730264] ftdi_sio ttyUSB0: usb_serial_generic_read_bulk_callback - urb stopped: -32
      [ 1956.731121] vhci_hcd: unlink->seqnum 106071
      [ 1956.731612] vhci_hcd: the urb (seqnum 106071) was already given back

      #process4 output

      Every 2.0s: python /data/voxl-esc-add-new-params/voxl-esc-tools/voxl-esc-scan.py --enable-debug 1 PW-CONTROL07: Wed Jun 21 17:11:43 2023

      Detected Python version : 3.8.0 (default, Jun 18 2023, 12:37:59)
      [GCC 11.3.0]
      Found voxl-esc tools bin version: 1.2
      INFO: All COM ports:
      /dev/ttyUSB0 : TTL232RG-VREG3V3 - TTL232RG-VREG3V3
      INFO: UART Port Candidates:
      /dev/ttyUSB0
      INFO: Scanning for ESC firmware: /dev/ttyUSB0, baud: 2000000
      UART TX: AF 06 00 00 91 C1
      UART TX: AF 06 18 00 9B C1
      UART TX: AF 06 00 01 50 01
      UART TX: AF 06 18 01 5A 01
      UART TX: AF 06 00 02 10 00
      UART TX: AF 06 18 02 1A 00
      UART TX: AF 06 00 03 D1 C0
      UART TX: AF 06 18 03 DB C0
      INFO: Scanning for ESC firmware: /dev/ttyUSB0, baud: 250000
      UART TX: AF 06 00 00 91 C1
      UART TX: AF 06 18 00 9B C1
      UART TX: AF 06 00 01 50 01
      UART TX: AF 06 18 01 5A 01
      UART TX: AF 06 00 02 10 00
      UART TX: AF 06 18 02 1A 00
      UART TX: AF 06 00 03 D1 C0
      UART TX: AF 06 18 03 DB C0
      INFO: Scanning for ESC firmware: /dev/ttyUSB0, baud: 921600
      UART TX: AF 06 00 00 91 C1
      UART TX: AF 06 18 00 9B C1
      UART TX: AF 06 00 01 50 01
      UART TX: AF 06 18 01 5A 01
      UART TX: AF 06 00 02 10 00
      UART TX: AF 06 18 02 1A 00
      UART TX: AF 06 00 03 D1 C0
      UART TX: AF 06 18 03 DB C0
      INFO: Scanning for ESC firmware: /dev/ttyUSB0, baud: 230400
      UART TX: AF 06 00 00 91 C1
      UART TX: AF 06 18 00 9B C1
      UART TX: AF 06 00 01 50 01
      UART TX: AF 06 18 01 5A 01
      UART TX: AF 06 00 02 10 00
      UART TX: AF 06 18 02 1A 00
      UART TX: AF 06 00 03 D1 C0
      UART TX: AF 06 18 03 DB C0
      INFO: Scanning for ESC firmware: /dev/ttyUSB0, baud: 57600
      UART TX: AF 06 00 00 91 C1
      UART TX: AF 06 18 00 9B C1
      UART TX: AF 06 00 01 50 01
      UART TX: AF 06 18 01 5A 01
      UART TX: AF 06 00 02 10 00
      UART TX: AF 06 18 02 1A 00
      UART TX: AF 06 00 03 D1 C0
      UART TX: AF 06 18 03 DB C0
      INFO: Scanning for ESC firmware: /dev/ttyUSB0, baud: 115200
      UART TX: AF 06 00 00 91 C1
      UART TX: AF 06 18 00 9B C1
      UART TX: AF 06 00 01 50 01
      UART TX: AF 06 18 01 5A 01
      UART TX: AF 06 00 02 10 00
      UART TX: AF 06 18 02 1A 00
      UART TX: AF 06 00 03 D1 C0
      UART TX: AF 06 18 03 DB C0
      INFO: Scanning for ESC bootloader: /dev/ttyUSB0, baud: 38400
      UART TX: AF 06 00 00 91 C1
      UART TX: AF 06 18 00 9B C1
      UART TX: AF 06 00 01 50 01
      UART TX: AF 06 18 01 5A 01
      UART TX: AF 06 00 02 10 00
      UART TX: AF 06 18 02 1A 00
      UART TX: AF 06 00 03 D1 C0
      UART TX: AF 06 18 03 DB C0
      UART TX: FA FA 00 05 64 32 3E 65 1A
      UART TX: FA FA 00 05 64 32 3E 65 1A
      UART TX: FA FA 00 05 64 32 3E 65 1A
      UART TX: FA FA 00 05 64 32 3E 65 1A
      UART TX: FA FA 00 05 64 32 3E 65 1A
      UART TX: FA FA 00 05 65 B5 92 BD 1B
      UART TX: FA FA 00 05 65 B5 92 BD 1B
      UART TX: FA FA 00 05 65 B5 92 BD 1B
      UART TX: FA FA 00 05 65 B5 92 BD 1B
      UART TX: FA FA 00 05 65 B5 92 BD 1B
      UART TX: FA FA 00 05 66 3C 67 D4 19

      Alex KushleyevA Offline
      Alex KushleyevA Offline
      Alex Kushleyev
      ModalAI Team
      wrote on last edited by
      #18

      @ErezI sorry i missed your earlier message. Please email me at akushley @ modalai . com and we will discuss via email. No need to re-send the previous information. Thank you.

      E 2 Replies Last reply
      0
      • Alex KushleyevA Alex Kushleyev

        @ErezI sorry i missed your earlier message. Please email me at akushley @ modalai . com and we will discuss via email. No need to re-send the previous information. Thank you.

        E Offline
        E Offline
        ErezI
        Contributor
        wrote on last edited by
        #19

        @Alex-Kushleyev
        OK
        Thanks

        1 Reply Last reply
        0
        • Alex KushleyevA Alex Kushleyev

          @ErezI sorry i missed your earlier message. Please email me at akushley @ modalai . com and we will discuss via email. No need to re-send the previous information. Thank you.

          E Offline
          E Offline
          ErezI
          Contributor
          wrote on last edited by
          #20

          @Alex-Kushleyev

          Hi Alex

          When we try to verify or update ESC params (xml file) to the F5A esc,
          we get the following error:

          data/voxl-esc-add-new-params/voxl-esc-tools$ sudo ./voxl-esc-verify-params.py
          Detected Python version : 3.8.10 (default, May 26 2023, 14:05:08)
          [GCC 9.4.0]
          Found voxl-esc tools bin version: 1.2
          INFO: All COM ports:
          /dev/ttyS4 : n/a
          /dev/ttyUSB0 : TTL232R
          INFO: UART Port Candidates:
          /dev/ttyUSB0
          Found previous connection information in .voxl_esc_cache ..
          Prioritizing /dev/ttyUSB0 @ 2000000
          INFO: Scanning for ESC firmware: /dev/ttyUSB0, baud: 2000000
          INFO: ESC(s) detected on port: /dev/ttyUSB0, baud rate: 2000000
          Exception in thread uartserial:
          Traceback (most recent call last):
          File "/usr/lib/python3.8/threading.py", line 932, in _bootstrap_inner
          self.run()
          File "./tmp/voxl-esc-tools-bin-export-1.2/libesc/uarttransceiver.py", line 100, in run
          File "./tmp/voxl-esc-tools-bin-export-1.2/libesc/escmanager.py", line 135, in handle_packets
          File "./tmp/voxl-esc-tools-bin-export-1.2/libesc/escmanager.py", line 270, in handle_config_data
          File "./tmp/voxl-esc-tools-bin-export-1.2/libesc/esc.py", line 84, in set_params
          File "./tmp/voxl-esc-tools-bin-export-1.2/libesc/params.py", line 268, in parse_params
          File "./tmp/voxl-esc-tools-bin-export-1.2/libesc/params.py", line 394, in parse_tune_params
          Exception: Tune length got: 136, expected: 180
          Tune config CRC mismatch 42914 != 0
          ERROR: Params for ID 0 are invalid!
          ID config CRC mismatch 60163 != 0
          ERROR: Params for ID 1 are invalid!
          ID config CRC mismatch 60163 != 0
          ERROR: Params for ID 2 are invalid!
          ID config CRC mismatch 60163 != 0
          ERROR: Params for ID 3 are invalid!
          ERROR: Params from ID 0 and 1 are not the same
          ERROR: Params from ID 0 and 2 are not the same
          ERROR: Params from ID 0 and 3 are not the same
          ERROR: Some params are invalid or not the same!
          Number of ESCs expected : 4
          Number of ESCs found : 4
          Number of invalid params : 4
          Number of matched params : 1
          user@user-CF-54-3:/data/voxl-esc-add-new-params/voxl-esc-tools$

          [sudo] password for user:
          Starting Wizard

          What do you want to do?

          1. scan 3) spin 5) upload_params
          2. detect 4) upgrade_firmware
            #? 5

          Which ?

          1. starling_v2 3) fpv_revB 5) MPD

          2. sentinel_v1 4) starling_m129
            #? 5
            uploading params file ../voxl-esc-params/MPD/mpd_params.xml
            enabling bridge
            Failed to get unit file state for voxl-px4.service: No such file or directory
            bridge enabled
            Detected Python version : 3.8.10 (default, May 26 2023, 14:05:08)
            [GCC 9.4.0]
            Found voxl-esc tools bin version: 1.2
            INFO: All COM ports:
            /dev/ttyS4 : n/a
            /dev/ttyUSB0 : TTL232R
            INFO: UART Port Candidates:
            /dev/ttyUSB0
            Found previous connection information in .voxl_esc_cache ..
            Prioritizing /dev/ttyUSB0 @ 2000000
            INFO: Scanning for ESC firmware: /dev/ttyUSB0, baud: 2000000
            INFO: ESC(s) detected on port: /dev/ttyUSB0, baud rate: 2000000
            INFO: Detected protocol: firmware
            INFO: Additional Information:
            INFO: ---------------------
            ID : 0
            Board : version 33: Blheli32 4-in-1 ESC Type B (Tmotor F55A PRO G071)
            UID : 0x203135385631500200730034
            Firmware : version 37, hash ba6d193a*
            Bootloader : version 0, hash 7a01a780

            ID : 1
            Board : version 33: Blheli32 4-in-1 ESC Type B (Tmotor F55A PRO G071)
            UID : 0x203135385631500200320035
            Firmware : version 37, hash ba6d193a*
            Bootloader : version 0, hash 7a01a780

            ID : 2
            Board : version 33: Blheli32 4-in-1 ESC Type B (Tmotor F55A PRO G071)
            UID : 0x203135385631500200340033
            Firmware : version 37, hash ba6d193a*
            Bootloader : version 0, hash 7a01a780

            ID : 3
            Board : version 33: Blheli32 4-in-1 ESC Type B (Tmotor F55A PRO G071)
            UID : 0x203135385631500200710034
            Firmware : version 37, hash ba6d193a*
            Bootloader : version 0, hash 7a01a780


          successfully pinged ESCs
          Detected Python version : 3.8.10 (default, May 26 2023, 14:05:08)
          [GCC 9.4.0]
          Found voxl-esc tools bin version: 1.2

          INFO: Params file name : ../voxl-esc-params/MPD/mpd_params.xml
          INFO: Params file size : 6959 bytes

          INFO: All COM ports:
          /dev/ttyS4 : n/a
          /dev/ttyUSB0 : TTL232R
          INFO: UART Port Candidates:
          /dev/ttyUSB0
          Found previous connection information in .voxl_esc_cache ..
          Prioritizing /dev/ttyUSB0 @ 2000000
          INFO: Scanning for ESC firmware: /dev/ttyUSB0, baud: 2000000
          INFO: ESC(s) detected on port: /dev/ttyUSB0, baud rate: 2000000
          INFO: ESCs detected:
          INFO: ---------------------
          ID: 0, SW: 37, HW: 33: Blheli32 4-in-1 ESC Type B (Tmotor F55A PRO G071)
          ID: 1, SW: 37, HW: 33: Blheli32 4-in-1 ESC Type B (Tmotor F55A PRO G071)
          ID: 2, SW: 37, HW: 33: Blheli32 4-in-1 ESC Type B (Tmotor F55A PRO G071)
          ID: 3, SW: 37, HW: 33: Blheli32 4-in-1 ESC Type B (Tmotor F55A PRO G071)

          INFO: Loading XML config file...
          Traceback (most recent call last):
          File "voxl-esc-upload-params.py", line 114, in <module>
          esc.params.parse_xml_string( xml_string )
          File "./tmp/voxl-esc-tools-bin-export-1.2/libesc/params.py", line 518, in parse_xml_string
          File "./tmp/voxl-esc-tools-bin-export-1.2/libesc/params.py", line 935, in set_packet_metadata
          File "./tmp/voxl-esc-tools-bin-export-1.2/libesc/params.py", line 249, in update_crc
          File "./tmp/voxl-esc-tools-bin-export-1.2/libesc/params.py", line 165, in get_param_bytes_for_crc
          File "./tmp/voxl-esc-tools-bin-export-1.2/libesc/params.py", line 85, in byteify
          struct.error: pack expected 12 items for packing (got 4)
          disabling bridge
          bridge disabled

          we use the following xml file for the f40 pro 2400kv:
          sudo cat ./mpd_params.xml
          <?xml version="1.0" encoding="UTF-8"?>

          <!-- Copyright (c) 2020 ModalAI Inc.

          Redistribution and use in source and binary forms, with or without
          modification, are permitted provided that the following conditions are met:

          1. Redistributions of source code must retain the above copyright notice,
            this list of conditions and the following disclaimer.

          2. Redistributions in binary form must reproduce the above copyright notice,
            this list of conditions and the following disclaimer in the documentation
            and/or other materials provided with the distribution.

          3. Neither the name of the copyright holder nor the names of its contributors
            may be used to endorse or promote products derived from this software
            without specific prior written permission.

          4. The Software is used solely in conjunction with devices provided by
            ModalAI Inc.

          THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
          AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
          IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
          ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE
          LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
          CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
          SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
          INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
          CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
          ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
          POSSIBILITY OF SUCH DAMAGE.

          For a license to use on non-ModalAI hardware, please contact license@modalai.com -->

          <EscParameters>

          <IdParams>
          <param name="id" value="127"/> <!-- 0-7 .. 127 means use hardware ID pins to read ID-->
          <param name="dir" value="2"/> <!-- 0=fwd, 1=rev, 2=fwd id-based, 3=rev id-based -->
          </IdParams>

          <BoardParams>
          <param name="id_map" value="[0, 1, 2, 3, 4, 5, 6, 7]"/> <!-- reserved for future use -->
          <param name="vsense_scale" value="6.0"/> <!-- voltage_mv = adc_val_mv * vsense_mult / vsense_ div -->
          <param name="isense_scale" value="18.25"/> <!-- Ima * 0.001 * 50 = Vmv, so mult is 1 / (0.001 * 50) = 20 . Note that actual gain is a bit off -->
          <param name="isense_zero_mv" value="550"/> <!-- voltage offset of current sensor when current is zero (0.55V by design) -->
          </BoardParams>

          <UartParams>
          <param name="protocol_version" value="2"/> <!-- reserved for future use -->
          <param name="input_mode" value="0"/> <!-- reserved for future use -->
          <param name="baud_rate" value="2000000"/> <!-- communication bit rate -->
          <param name="char_timeout_ns" value="0"/> <!-- not used -->
          <param name="cmd_timeout_ns" value="100000000"/> <!-- timeout for incoming commands before ESC will stop the motor -->
          </UartParams>

          <TuneParams>
          <param name="pwm_frequency" value="48000"/> <!-- switching freqency of PWM signal going to motors. 24Khz and 48Khz are only options for now -->
          <param name="vbat_nominal_mv" value="14800"/> <!-- used for sanity checking and limiting of voltage-dependent funcions -->
          <param name="num_cycles_per_rev" value="7"/> <!-- number of pole pairs in the motor. used for converting electrical frequency to mechanical rpm -->
          <param name="min_rpm" value="1000"/> <!-- minimum RPM that will be attempted, otherwise capped -->
          <param name="max_rpm" value="25000"/> <!-- maximum RPM that will be attempted, otherwise capped -->
          <param name="min_pwm" value="50"/> <!-- cap for minimum power to be ever applied. max is 999 -->
          <param name="max_pwm" value="999"/> <!-- cap for maximum power to be ever applied. max is 999 -->
          <param name="pwm_vs_rpm_curve_a0" value="870.0"/> <!-- this is actually motor_voltage vs rpm curve.. using legacy naming -->
          <param name="pwm_vs_rpm_curve_a1" value="0.5"/> <!-- Emax RS1306 3300KV with tri-blade 3x3x3 -->
          <param name="pwm_vs_rpm_curve_a2" value="3.0e-06"/>
          <param name="kp" value="250"/> <!-- RPM controller proportional gain -->
          <param name="ki" value="30"/> <!-- RPM controller proportional gain -->
          <param name="max_kpe" value="300"/> <!-- maximum proportional erorr term (max is 999) -->
          <param name="max_kie" value="100"/> <!-- maximum integral error term (max is 999) -->
          <param name="max_rpm_delta" value="3000"/> <!-- cap for maximum rpm error used in RPM controller -->

          <param name="alignment_time_ns"   value="0"/>
          <param name="spinup_power"        value="70"/>      <!-- power used to give the motor initial kick (out of 999) -->
          <param name="latch_power"         value="80"/>     <!-- power used during latching stage of spin-up (out of 999)-->
          <param name="min_num_cross_for_closed_loop" value="50"/>  <!-- exit latching mode of fixed power after this number of zero crossings -->
          
          <param name="brake_to_stop"       value="0"/>             <!-- apply brake when stopping motor (or not) -->
          <param name="stall_timeout_ns"    value="20000000"/>      <!-- after spin-up, if no zero crossing is not detected for this amount of time, motor is considered stalled -->
          <param name="require_reset_if_stalled"      value="0"/>   <!-- require sending an array of zero commands to reset before next spin-up, if motor stalled -->
          

          <!-- <param name="tone_freqs_10hz" value="[200, 215, 225, 250]"/> --> <!-- 200 is 2000Hz, max 255 -->
          <!-- <param name="tone_times_ms" value="[10, 10, 10, 10]"/> --> <!-- duration of each tone in units of 10 milli-seconds. Poor naming!!! -->
          <param name="tone_powers" value="[100, 100, 100, 100]"/> <!-- max is 255 -->

          <param name="dt_threshold_ns"       value="150000"/>      <!-- during start up, ignore inter-commutation times less than this val, probably noise -->
          <param name="max_dt_ns"             value="2500000"/>     <!-- min and max values for time between two commutations. these are used as caps -->
          <param name="min_dt_ns"             value="10000"/>
          <param name="dt_bootstrap_ns"       value="2000000"/>     <!-- filter bootstrap value for commutation dt during start up -->
          
          <param name="spinup_stall_dt_ns"    value="6000000"/>     <!-- during spin-up, if no zero crossing is not detected for this amount of time, motor is considered stalled -->
          <param name="spinup_stall_check_ns" value="30000000"/>    <!-- time after beginning of spinup to start checking for spinup stall -->
          
          <param name="timing_advance"        value="0"/>
          <param name="sense_advance"         value="0"/>
          
          <param name="demag_timing"          value="0"/>    <!-- unused -->
          

          </TuneParams>
          </EscParameters>

          Thanks,

          Erez

          Alex KushleyevA 1 Reply Last reply
          0
          • E ErezI

            @Alex-Kushleyev

            Hi Alex

            When we try to verify or update ESC params (xml file) to the F5A esc,
            we get the following error:

            data/voxl-esc-add-new-params/voxl-esc-tools$ sudo ./voxl-esc-verify-params.py
            Detected Python version : 3.8.10 (default, May 26 2023, 14:05:08)
            [GCC 9.4.0]
            Found voxl-esc tools bin version: 1.2
            INFO: All COM ports:
            /dev/ttyS4 : n/a
            /dev/ttyUSB0 : TTL232R
            INFO: UART Port Candidates:
            /dev/ttyUSB0
            Found previous connection information in .voxl_esc_cache ..
            Prioritizing /dev/ttyUSB0 @ 2000000
            INFO: Scanning for ESC firmware: /dev/ttyUSB0, baud: 2000000
            INFO: ESC(s) detected on port: /dev/ttyUSB0, baud rate: 2000000
            Exception in thread uartserial:
            Traceback (most recent call last):
            File "/usr/lib/python3.8/threading.py", line 932, in _bootstrap_inner
            self.run()
            File "./tmp/voxl-esc-tools-bin-export-1.2/libesc/uarttransceiver.py", line 100, in run
            File "./tmp/voxl-esc-tools-bin-export-1.2/libesc/escmanager.py", line 135, in handle_packets
            File "./tmp/voxl-esc-tools-bin-export-1.2/libesc/escmanager.py", line 270, in handle_config_data
            File "./tmp/voxl-esc-tools-bin-export-1.2/libesc/esc.py", line 84, in set_params
            File "./tmp/voxl-esc-tools-bin-export-1.2/libesc/params.py", line 268, in parse_params
            File "./tmp/voxl-esc-tools-bin-export-1.2/libesc/params.py", line 394, in parse_tune_params
            Exception: Tune length got: 136, expected: 180
            Tune config CRC mismatch 42914 != 0
            ERROR: Params for ID 0 are invalid!
            ID config CRC mismatch 60163 != 0
            ERROR: Params for ID 1 are invalid!
            ID config CRC mismatch 60163 != 0
            ERROR: Params for ID 2 are invalid!
            ID config CRC mismatch 60163 != 0
            ERROR: Params for ID 3 are invalid!
            ERROR: Params from ID 0 and 1 are not the same
            ERROR: Params from ID 0 and 2 are not the same
            ERROR: Params from ID 0 and 3 are not the same
            ERROR: Some params are invalid or not the same!
            Number of ESCs expected : 4
            Number of ESCs found : 4
            Number of invalid params : 4
            Number of matched params : 1
            user@user-CF-54-3:/data/voxl-esc-add-new-params/voxl-esc-tools$

            [sudo] password for user:
            Starting Wizard

            What do you want to do?

            1. scan 3) spin 5) upload_params
            2. detect 4) upgrade_firmware
              #? 5

            Which ?

            1. starling_v2 3) fpv_revB 5) MPD

            2. sentinel_v1 4) starling_m129
              #? 5
              uploading params file ../voxl-esc-params/MPD/mpd_params.xml
              enabling bridge
              Failed to get unit file state for voxl-px4.service: No such file or directory
              bridge enabled
              Detected Python version : 3.8.10 (default, May 26 2023, 14:05:08)
              [GCC 9.4.0]
              Found voxl-esc tools bin version: 1.2
              INFO: All COM ports:
              /dev/ttyS4 : n/a
              /dev/ttyUSB0 : TTL232R
              INFO: UART Port Candidates:
              /dev/ttyUSB0
              Found previous connection information in .voxl_esc_cache ..
              Prioritizing /dev/ttyUSB0 @ 2000000
              INFO: Scanning for ESC firmware: /dev/ttyUSB0, baud: 2000000
              INFO: ESC(s) detected on port: /dev/ttyUSB0, baud rate: 2000000
              INFO: Detected protocol: firmware
              INFO: Additional Information:
              INFO: ---------------------
              ID : 0
              Board : version 33: Blheli32 4-in-1 ESC Type B (Tmotor F55A PRO G071)
              UID : 0x203135385631500200730034
              Firmware : version 37, hash ba6d193a*
              Bootloader : version 0, hash 7a01a780

              ID : 1
              Board : version 33: Blheli32 4-in-1 ESC Type B (Tmotor F55A PRO G071)
              UID : 0x203135385631500200320035
              Firmware : version 37, hash ba6d193a*
              Bootloader : version 0, hash 7a01a780

              ID : 2
              Board : version 33: Blheli32 4-in-1 ESC Type B (Tmotor F55A PRO G071)
              UID : 0x203135385631500200340033
              Firmware : version 37, hash ba6d193a*
              Bootloader : version 0, hash 7a01a780

              ID : 3
              Board : version 33: Blheli32 4-in-1 ESC Type B (Tmotor F55A PRO G071)
              UID : 0x203135385631500200710034
              Firmware : version 37, hash ba6d193a*
              Bootloader : version 0, hash 7a01a780


            successfully pinged ESCs
            Detected Python version : 3.8.10 (default, May 26 2023, 14:05:08)
            [GCC 9.4.0]
            Found voxl-esc tools bin version: 1.2

            INFO: Params file name : ../voxl-esc-params/MPD/mpd_params.xml
            INFO: Params file size : 6959 bytes

            INFO: All COM ports:
            /dev/ttyS4 : n/a
            /dev/ttyUSB0 : TTL232R
            INFO: UART Port Candidates:
            /dev/ttyUSB0
            Found previous connection information in .voxl_esc_cache ..
            Prioritizing /dev/ttyUSB0 @ 2000000
            INFO: Scanning for ESC firmware: /dev/ttyUSB0, baud: 2000000
            INFO: ESC(s) detected on port: /dev/ttyUSB0, baud rate: 2000000
            INFO: ESCs detected:
            INFO: ---------------------
            ID: 0, SW: 37, HW: 33: Blheli32 4-in-1 ESC Type B (Tmotor F55A PRO G071)
            ID: 1, SW: 37, HW: 33: Blheli32 4-in-1 ESC Type B (Tmotor F55A PRO G071)
            ID: 2, SW: 37, HW: 33: Blheli32 4-in-1 ESC Type B (Tmotor F55A PRO G071)
            ID: 3, SW: 37, HW: 33: Blheli32 4-in-1 ESC Type B (Tmotor F55A PRO G071)

            INFO: Loading XML config file...
            Traceback (most recent call last):
            File "voxl-esc-upload-params.py", line 114, in <module>
            esc.params.parse_xml_string( xml_string )
            File "./tmp/voxl-esc-tools-bin-export-1.2/libesc/params.py", line 518, in parse_xml_string
            File "./tmp/voxl-esc-tools-bin-export-1.2/libesc/params.py", line 935, in set_packet_metadata
            File "./tmp/voxl-esc-tools-bin-export-1.2/libesc/params.py", line 249, in update_crc
            File "./tmp/voxl-esc-tools-bin-export-1.2/libesc/params.py", line 165, in get_param_bytes_for_crc
            File "./tmp/voxl-esc-tools-bin-export-1.2/libesc/params.py", line 85, in byteify
            struct.error: pack expected 12 items for packing (got 4)
            disabling bridge
            bridge disabled

            we use the following xml file for the f40 pro 2400kv:
            sudo cat ./mpd_params.xml
            <?xml version="1.0" encoding="UTF-8"?>

            <!-- Copyright (c) 2020 ModalAI Inc.

            Redistribution and use in source and binary forms, with or without
            modification, are permitted provided that the following conditions are met:

            1. Redistributions of source code must retain the above copyright notice,
              this list of conditions and the following disclaimer.

            2. Redistributions in binary form must reproduce the above copyright notice,
              this list of conditions and the following disclaimer in the documentation
              and/or other materials provided with the distribution.

            3. Neither the name of the copyright holder nor the names of its contributors
              may be used to endorse or promote products derived from this software
              without specific prior written permission.

            4. The Software is used solely in conjunction with devices provided by
              ModalAI Inc.

            THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
            AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
            IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
            ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE
            LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
            CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
            SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
            INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
            CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
            ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
            POSSIBILITY OF SUCH DAMAGE.

            For a license to use on non-ModalAI hardware, please contact license@modalai.com -->

            <EscParameters>

            <IdParams>
            <param name="id" value="127"/> <!-- 0-7 .. 127 means use hardware ID pins to read ID-->
            <param name="dir" value="2"/> <!-- 0=fwd, 1=rev, 2=fwd id-based, 3=rev id-based -->
            </IdParams>

            <BoardParams>
            <param name="id_map" value="[0, 1, 2, 3, 4, 5, 6, 7]"/> <!-- reserved for future use -->
            <param name="vsense_scale" value="6.0"/> <!-- voltage_mv = adc_val_mv * vsense_mult / vsense_ div -->
            <param name="isense_scale" value="18.25"/> <!-- Ima * 0.001 * 50 = Vmv, so mult is 1 / (0.001 * 50) = 20 . Note that actual gain is a bit off -->
            <param name="isense_zero_mv" value="550"/> <!-- voltage offset of current sensor when current is zero (0.55V by design) -->
            </BoardParams>

            <UartParams>
            <param name="protocol_version" value="2"/> <!-- reserved for future use -->
            <param name="input_mode" value="0"/> <!-- reserved for future use -->
            <param name="baud_rate" value="2000000"/> <!-- communication bit rate -->
            <param name="char_timeout_ns" value="0"/> <!-- not used -->
            <param name="cmd_timeout_ns" value="100000000"/> <!-- timeout for incoming commands before ESC will stop the motor -->
            </UartParams>

            <TuneParams>
            <param name="pwm_frequency" value="48000"/> <!-- switching freqency of PWM signal going to motors. 24Khz and 48Khz are only options for now -->
            <param name="vbat_nominal_mv" value="14800"/> <!-- used for sanity checking and limiting of voltage-dependent funcions -->
            <param name="num_cycles_per_rev" value="7"/> <!-- number of pole pairs in the motor. used for converting electrical frequency to mechanical rpm -->
            <param name="min_rpm" value="1000"/> <!-- minimum RPM that will be attempted, otherwise capped -->
            <param name="max_rpm" value="25000"/> <!-- maximum RPM that will be attempted, otherwise capped -->
            <param name="min_pwm" value="50"/> <!-- cap for minimum power to be ever applied. max is 999 -->
            <param name="max_pwm" value="999"/> <!-- cap for maximum power to be ever applied. max is 999 -->
            <param name="pwm_vs_rpm_curve_a0" value="870.0"/> <!-- this is actually motor_voltage vs rpm curve.. using legacy naming -->
            <param name="pwm_vs_rpm_curve_a1" value="0.5"/> <!-- Emax RS1306 3300KV with tri-blade 3x3x3 -->
            <param name="pwm_vs_rpm_curve_a2" value="3.0e-06"/>
            <param name="kp" value="250"/> <!-- RPM controller proportional gain -->
            <param name="ki" value="30"/> <!-- RPM controller proportional gain -->
            <param name="max_kpe" value="300"/> <!-- maximum proportional erorr term (max is 999) -->
            <param name="max_kie" value="100"/> <!-- maximum integral error term (max is 999) -->
            <param name="max_rpm_delta" value="3000"/> <!-- cap for maximum rpm error used in RPM controller -->

            <param name="alignment_time_ns"   value="0"/>
            <param name="spinup_power"        value="70"/>      <!-- power used to give the motor initial kick (out of 999) -->
            <param name="latch_power"         value="80"/>     <!-- power used during latching stage of spin-up (out of 999)-->
            <param name="min_num_cross_for_closed_loop" value="50"/>  <!-- exit latching mode of fixed power after this number of zero crossings -->
            
            <param name="brake_to_stop"       value="0"/>             <!-- apply brake when stopping motor (or not) -->
            <param name="stall_timeout_ns"    value="20000000"/>      <!-- after spin-up, if no zero crossing is not detected for this amount of time, motor is considered stalled -->
            <param name="require_reset_if_stalled"      value="0"/>   <!-- require sending an array of zero commands to reset before next spin-up, if motor stalled -->
            

            <!-- <param name="tone_freqs_10hz" value="[200, 215, 225, 250]"/> --> <!-- 200 is 2000Hz, max 255 -->
            <!-- <param name="tone_times_ms" value="[10, 10, 10, 10]"/> --> <!-- duration of each tone in units of 10 milli-seconds. Poor naming!!! -->
            <param name="tone_powers" value="[100, 100, 100, 100]"/> <!-- max is 255 -->

            <param name="dt_threshold_ns"       value="150000"/>      <!-- during start up, ignore inter-commutation times less than this val, probably noise -->
            <param name="max_dt_ns"             value="2500000"/>     <!-- min and max values for time between two commutations. these are used as caps -->
            <param name="min_dt_ns"             value="10000"/>
            <param name="dt_bootstrap_ns"       value="2000000"/>     <!-- filter bootstrap value for commutation dt during start up -->
            
            <param name="spinup_stall_dt_ns"    value="6000000"/>     <!-- during spin-up, if no zero crossing is not detected for this amount of time, motor is considered stalled -->
            <param name="spinup_stall_check_ns" value="30000000"/>    <!-- time after beginning of spinup to start checking for spinup stall -->
            
            <param name="timing_advance"        value="0"/>
            <param name="sense_advance"         value="0"/>
            
            <param name="demag_timing"          value="0"/>    <!-- unused -->
            

            </TuneParams>
            </EscParameters>

            Thanks,

            Erez

            Alex KushleyevA Offline
            Alex KushleyevA Offline
            Alex Kushleyev
            ModalAI Team
            wrote on last edited by
            #21

            @ErezI

            We recently updated the parameter structure in the ESC params. The ESCs you have are using older params. If you wanted to verify or update those params, please use the following version of voxl-esc tools : https://gitlab.com/voxl-public/voxl-sdk/utilities/voxl-esc/-/tree/v1.1.1

            If you want to use the latest params, a firmware update and param update is required.
            You can use the latest voxl-esc tools : https://gitlab.com/voxl-public/voxl-sdk/utilities/voxl-esc/-/tree/v1.2.2

            update the firmware on all ESCs:
            ./voxl-esc-upload-firmware-all.sh firmware/modalai_esc_firmware_tmotor_f55a_revc_v0_38_9b6d54b6.bin

            At this point the ESCs will make a sad tone because the params will be invalid. Now update the params to the latest default params for the tmotor ESC.
            ./voxl-esc-upload-params.py --params-file ../voxl-esc-params/FPV_RevB/FPV_RevB.xml

            After this, you should have the ESC updated firmware and params to the latest. Next you can diff your desired params against the latest params you just loaded, and create a new version of your params.

            I noticed that you have pretty high kp and ki values. If you are just starting out, i would suggest setting kp=0 and ki=0, this will result in performance close to a off-the-shelf ESC. having gains set too high could result in vibrations or motors heating up, it will require some more careful testing.

            Additionally, i noticed that your tuning params do not have a lot of precision, which will result in incorrect curve. You should have at least 3 or preferably 6 decimal places for each of a0, a1, a2 to avoid any error. You can copy paste them directly from the calibration procedure.

            <param name="pwm_vs_rpm_curve_a0" value="870.0"/>
            <param name="pwm_vs_rpm_curve_a1" value="0.5"/>
            <param name="pwm_vs_rpm_curve_a2" value="3.0e-06"/>

            Alex

            E 4 Replies Last reply
            0
            • Alex KushleyevA Alex Kushleyev

              @ErezI

              We recently updated the parameter structure in the ESC params. The ESCs you have are using older params. If you wanted to verify or update those params, please use the following version of voxl-esc tools : https://gitlab.com/voxl-public/voxl-sdk/utilities/voxl-esc/-/tree/v1.1.1

              If you want to use the latest params, a firmware update and param update is required.
              You can use the latest voxl-esc tools : https://gitlab.com/voxl-public/voxl-sdk/utilities/voxl-esc/-/tree/v1.2.2

              update the firmware on all ESCs:
              ./voxl-esc-upload-firmware-all.sh firmware/modalai_esc_firmware_tmotor_f55a_revc_v0_38_9b6d54b6.bin

              At this point the ESCs will make a sad tone because the params will be invalid. Now update the params to the latest default params for the tmotor ESC.
              ./voxl-esc-upload-params.py --params-file ../voxl-esc-params/FPV_RevB/FPV_RevB.xml

              After this, you should have the ESC updated firmware and params to the latest. Next you can diff your desired params against the latest params you just loaded, and create a new version of your params.

              I noticed that you have pretty high kp and ki values. If you are just starting out, i would suggest setting kp=0 and ki=0, this will result in performance close to a off-the-shelf ESC. having gains set too high could result in vibrations or motors heating up, it will require some more careful testing.

              Additionally, i noticed that your tuning params do not have a lot of precision, which will result in incorrect curve. You should have at least 3 or preferably 6 decimal places for each of a0, a1, a2 to avoid any error. You can copy paste them directly from the calibration procedure.

              <param name="pwm_vs_rpm_curve_a0" value="870.0"/>
              <param name="pwm_vs_rpm_curve_a1" value="0.5"/>
              <param name="pwm_vs_rpm_curve_a2" value="3.0e-06"/>

              Alex

              E Offline
              E Offline
              ErezI
              Contributor
              wrote on last edited by
              #22

              @Alex-Kushleyev

              Alex Hi

              Thanks for your fast & supporting respond.

              1.We got negative values for a0 (-500 to -1000) and not your recommended positive value
              <param name="pwm_vs_rpm_curve_a0" value="870.0"/>
              <param name="pwm_vs_rpm_curve_a1" value="0.5"/>
              <param name="pwm_vs_rpm_curve_a2" value="3.0e-06"/>

              Should a0 be a negative value (-870) or a positive on (a correctness value?)?

              2.We got different parameter values to the curves while running multiple calibration tests t
              o the same ESCx-Motx couples,
              and of course different values testing a different ESCx-Motx couples.

              What should be (how to choose/ calculate) the right a0,a1 & a2 values for the single uploaded parameters file (avg?)

              20230712-150720_ESC_#3_Volt_vs_RPM.jpg 20230712-150654_ESC_#2_Volt_vs_RPM.jpg 20230712-150617_ESC_#1_Volt_vs_RPM.jpg 20230712-150539_ESC_#0_Volt_vs_RPM.jpg 20230712-150233_ESC_#0_Volt_vs_RPM.jpg

              Thanks Erez

              ps

              New voxl-esc-calibrate.py with a0-a2 inside the graphs and
              created under the logs folder

              cat ./voxl-esc-calibrate2.py

              Copyright (c) 2020 ModalAI Inc.

              Redistribution and use in source and binary forms, with or without

              modification, are permitted provided that the following conditions are met:

              1. Redistributions of source code must retain the above copyright notice,

              this list of conditions and the following disclaimer.

              2. Redistributions in binary form must reproduce the above copyright notice,

              this list of conditions and the following disclaimer in the documentation

              and/or other materials provided with the distribution.

              3. Neither the name of the copyright holder nor the names of its contributors

              may be used to endorse or promote products derived from this software

              without specific prior written permission.

              4. The Software is used solely in conjunction with devices provided by

              ModalAI Inc.

              THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"

              AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE

              IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE

              ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE

              LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR

              CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF

              SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS

              INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN

              CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)

              ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE

              POSSIBILITY OF SUCH DAMAGE.

              For a license to use on non-ModalAI hardware, please contact license@modalai.com

              from voxl_esc_setup_paths import *
              voxl_esc_setup_paths()

              from libesc import *
              from esc_scanner import EscScanner
              import time
              import numpy as np
              import argparse

              parser = argparse.ArgumentParser(description='ESC Calibration Script')
              parser.add_argument('--device', required=False, default=None)
              parser.add_argument('--baud_rate', required=False, default=None)
              parser.add_argument('--id', type=int, required=False, default=0)
              parser.add_argument('--pwm-min', type=int, required=False, default=10)
              parser.add_argument('--pwm-max', type=int, required=False, default=90)
              parser.add_argument('--pwm-step', type=int, required=False, default=1)
              parser.add_argument('--pwm-step-duration', type=float, required=False, default=0.5) #seconds
              args = parser.parse_args()

              devpath = args.device
              baudrate = args.baud_rate
              esc_id = args.id
              PWM_MIN = args.pwm_min
              PWM_MAX = args.pwm_max
              PWM_STEP = args.pwm_step
              STEPDURATION = args.pwm_step_duration

              quick scan for ESCs to detect the port

              scanner = EscScanner()
              (devpath, baudrate) = scanner.scan(devpath, baudrate)

              if devpath is not None and baudrate is not None:
              print('INFO: ESC(s) detected on port: ' + devpath + ', baud rate: ' + str(baudrate))
              else:
              print('ERROR: No ESC(s) detected, exiting.')
              sys.exit(1)

              #check input arguments
              if PWM_MIN < 10 or PWM_MIN > 50:
              print('ERROR: Minimum power must be between 10 and 50')
              sys.exit(1)

              if PWM_MAX < 10 or PWM_MAX > 100:
              print('ERROR: Maximum power must be between 10 and 100')
              sys.exit(1)

              if PWM_MAX < PWM_MIN:
              print('ERROR: Maximum power must be greater than minimum power')
              sys.exit(1)

              TRANSITIONTIME = 0.40

              create ESC manager and search for ESCs

              try:
              esc_manager = EscManager()
              esc_manager.open(devpath, baudrate)
              except Exception as e:
              print('ERROR: Unable to connect to ESCs :')
              print(e)
              sys.exit(1)

              wait a little to let manager find all ESCs

              time.sleep(0.25)
              num_escs = len(esc_manager.get_escs())
              if num_escs < 1:
              print('ERROR: No ESCs detected--exiting.')
              sys.exit(1)

              esc = esc_manager.get_esc_by_id(esc_id)
              if esc is None:
              print('ERROR: Specified ESC ID not found--exiting.')
              sys.exit(1)

              warn user

              print('WARNING: ')
              print('This test requires motors to spin at high speeds with')
              print('propellers attached. Please ensure that appropriate')
              print('protective equipment is being worn at all times and')
              print('that the motor and propeller are adequately isolated')
              print('from all persons.')
              print('')
              print('For best results, please perform this test at the')
              print('nominal voltage for the battery used.')
              print('')
              response = input('Type "Yes" to continue: ')
              if response not in ['yes', 'Yes', 'YES']:
              print('Test canceled by user')
              sys.exit(1)

              get ESC software version. sw_version < 20 means gen1 ESC, otherwise gen2

              sw_version = esc.get_versions()[0]

              esc_manager.enable_protocol_logging()

              spin up

              esc_manager.set_highspeed_fb(esc_id) #tell ESC manager to only request feedback from this ID (so we get feedback 4x more often)
              esc.set_target_power(10)
              t_start = time.time()
              while time.time() - t_start < 1.0:
              time.sleep(0.05)
              esc_manager.send_pwm_targets()

              measurements = []
              t_test_start= time.time()

              ramp up from min to max

              pwm_now = PWM_MIN #10
              while pwm_now <= PWM_MAX:
              esc.set_target_power(pwm_now)
              t_start = time.time()
              print('')
              while time.time() - t_start < STEPDURATION:
              time.sleep(0.01)
              esc_manager.send_pwm_targets()
              if pwm_now >= PWM_MIN and time.time() - t_start >= TRANSITIONTIME:
              measurements.append(
              [esc.get_power(), esc.get_rpm(), esc.get_voltage(), esc.get_current()])
              print('POW: %d, RPM: %.2f, Voltage: %.2fV, Current: %.2fA' % (esc.get_power(), esc.get_rpm(), esc.get_voltage(), esc.get_current()))
              pwm_now += PWM_STEP

              close the manager and UART thread

              esc_manager.close()
              t_test_stop= time.time()
              print ('INFO: Test took %.2f seconds' % (t_test_stop-t_test_start))

              #d_date=datetime.datetime.now()
              d_date="{:%Y%m%d-%H%M%S}".format(datetime.now())
              print ("date="+str(d_date))

              parse measurements

              pwms = [data[0] for data in measurements]
              rpms = [data[1] for data in measurements]
              voltages = [data[2] for data in measurements]
              currents = [data[3] for data in measurements]

              #reported power is 0-100, but in ESC firmware it is 0-1000
              motor_voltages = [pwms[i]10.0/999.0(voltages[i]*1000) for i in range(len(pwms))]

              linear fit or quadratic fit

              ply = np.polyfit(rpms, motor_voltages, 2)
              motor_voltages_fit = np.polyval(ply, rpms)

              print corresponding params

              print('Quadratic fit: motor_voltage = a2rpm_desired^2 + a1rpm_desired + a0')
              print(' a0 = ' + str(ply[2]))
              print(' a1 = ' + str(ply[1]))
              print(' a2 = ' + str(ply[0]))
              print('ESC Params (after scaling):')
              print(' pwm_vs_rpm_curve_a0 = ' + str(ply[2]))
              print(' pwm_vs_rpm_curve_a1 = ' + str(ply[1]))
              print(' pwm_vs_rpm_curve_a2 = ' + str(ply[0]))

              plot results if possible

              try:
              import matplotlib.pyplot as plt
              except:
              print('WARNING: In order to plot the results, install the Python "matplotlib" module')
              sys.exit(0)

              plot the results

              plt.plot(rpms, motor_voltages, 'bo')
              plt.tight_layout()
              plt.plot(rpms, motor_voltages_fit)
              print ('Motor Voltage vs. RPM Test')
              plt.xlabel('Measured RPM')
              plt.ylabel('Commanded Motor Voltage (mV)')
              plt.title('Motor Voltage vs. RPM Test')
              plt.legend(['Data', 'Fit'], loc=2)
              plt.ylim([0, np.max(motor_voltages)+1000])
              plt.tight_layout()
              print ('Motor Voltage vs. RPM Test')
              plt.tight_layout()

              plot corresponding params

              plt.figtext(0.5, 0.01, "Quadratic fit: motor_voltage = a2rpm_desired^2 + a1rpm_desired + a0", ha="center", fontsize=10, bbox={"facecolor":"orange", "alpha":0.5, "pad":5})
              plt.figtext(0.2, 0.97, 'a0=%.8f' % ply[2], ha="center", fontsize=10, bbox={"facecolor":"green", "alpha":0.5, "pad":5})
              plt.figtext(0.5, 0.97, 'a1=%.8f' % ply[1], ha="center", fontsize=10, bbox={"facecolor":"green", "alpha":0.5, "pad":5})
              plt.figtext(0.8, 0.97, 'a2=%.8f' % ply[0], ha="center", fontsize=10, bbox={"facecolor":"green", "alpha":0.5, "pad":5})
              plt.tight_layout()

              plt.savefig('./logs/'+str(d_date)+'ESC#'+str(esc_id)+'_Volt_vs_RPM.jpg',bbox_inches='tight')
              #time.sleep(2)

              plt.figure()

              plt.plot(pwms, rpms, 'bo')
              print ('RMP vs. PWM Test')
              plt.xlabel('Commanded PWM (x/100)')
              plt.ylabel('Measured RPM')
              plt.title('RPM vs. PWM Test')
              plt.tight_layout()

              plot corresponding params

              plt.figtext(0.5, 0.01, "ESC Params (after scaling):", ha="center", fontsize=10, bbox={"facecolor":"orange", "alpha":0.5, "pad":5})
              plt.figtext(0.3, 0.97, 'a0=%.8f' % ply[2], ha="center", fontsize=10, bbox={"facecolor":"yellow", "alpha":0.5, "pad":5})
              plt.figtext(0.6, 0.97, 'a1=%.8f' % ply[1], ha="center", fontsize=10, bbox={"facecolor":"yellow", "alpha":0.5, "pad":5})
              plt.figtext(0.9, 0.97, 'a2=%.8f' % ply[0], ha="center", fontsize=10, bbox={"facecolor":"yellow", "alpha":0.5, "pad":5})

              plt.savefig('./logs/'+str(d_date)+'ESC#'+str(esc_id)+'_RPM_vs_PWM.jpg',bbox_inches='tight')
              plt.show()
              plt.close()

              1 Reply Last reply
              0
              • Alex KushleyevA Alex Kushleyev

                @ErezI

                We recently updated the parameter structure in the ESC params. The ESCs you have are using older params. If you wanted to verify or update those params, please use the following version of voxl-esc tools : https://gitlab.com/voxl-public/voxl-sdk/utilities/voxl-esc/-/tree/v1.1.1

                If you want to use the latest params, a firmware update and param update is required.
                You can use the latest voxl-esc tools : https://gitlab.com/voxl-public/voxl-sdk/utilities/voxl-esc/-/tree/v1.2.2

                update the firmware on all ESCs:
                ./voxl-esc-upload-firmware-all.sh firmware/modalai_esc_firmware_tmotor_f55a_revc_v0_38_9b6d54b6.bin

                At this point the ESCs will make a sad tone because the params will be invalid. Now update the params to the latest default params for the tmotor ESC.
                ./voxl-esc-upload-params.py --params-file ../voxl-esc-params/FPV_RevB/FPV_RevB.xml

                After this, you should have the ESC updated firmware and params to the latest. Next you can diff your desired params against the latest params you just loaded, and create a new version of your params.

                I noticed that you have pretty high kp and ki values. If you are just starting out, i would suggest setting kp=0 and ki=0, this will result in performance close to a off-the-shelf ESC. having gains set too high could result in vibrations or motors heating up, it will require some more careful testing.

                Additionally, i noticed that your tuning params do not have a lot of precision, which will result in incorrect curve. You should have at least 3 or preferably 6 decimal places for each of a0, a1, a2 to avoid any error. You can copy paste them directly from the calibration procedure.

                <param name="pwm_vs_rpm_curve_a0" value="870.0"/>
                <param name="pwm_vs_rpm_curve_a1" value="0.5"/>
                <param name="pwm_vs_rpm_curve_a2" value="3.0e-06"/>

                Alex

                E Offline
                E Offline
                ErezI
                Contributor
                wrote on last edited by
                #23

                @Alex-Kushleyev

                Hi Alex,

                I replaced the F55A ESCs firmware from version 33 to version 38
                (modalai_esc_firmware_tmotor_f55a_revc_v0_38_9b6d54b6.bin),
                and used he new code version (v1.2.2) &
                also used the new XML file (FPV_RevB.xml renamed to mpd_params.xml)
                but I got the same errors:

                user@user-CF-54-3:/data/voxl-esc-v1.2.2/voxl-esc-tools$ sudo python3 ./voxl-esc-upload-params.py --params-file ../../voxl-esc-add-new-params/voxl-esc-params/MPD/mpd_params.xml
                Detected Python version : 3.8.10 (default, May 26 2023, 14:05:08)
                [GCC 9.4.0]
                Found voxl-esc tools bin version: 1.2

                INFO: Params file name : ../../voxl-esc-add-new-params/voxl-esc-params/MPD/mpd_params.xml
                INFO: Params file size : 6835 bytes

                INFO: All COM ports:
                /dev/ttyS4 : n/a
                /dev/ttyUSB0 : TTL232R
                INFO: UART Port Candidates:
                /dev/ttyUSB0
                INFO: Scanning for ESC firmware: /dev/ttyUSB0, baud: 2000000
                INFO: Scanning for ESC firmware: /dev/ttyUSB0, baud: 250000
                INFO: Scanning for ESC firmware: /dev/ttyUSB0, baud: 921600
                INFO: Scanning for ESC firmware: /dev/ttyUSB0, baud: 230400
                INFO: Scanning for ESC firmware: /dev/ttyUSB0, baud: 57600
                INFO: ESC(s) detected on port: /dev/ttyUSB0, baud rate: 57600
                INFO: ESCs detected:
                INFO: ---------------------
                ID: 0, SW: 38, HW: 33: Blheli32 4-in-1 ESC Type B (Tmotor F55A PRO G071)
                ID: 1, SW: 38, HW: 33: Blheli32 4-in-1 ESC Type B (Tmotor F55A PRO G071)
                ID: 2, SW: 38, HW: 33: Blheli32 4-in-1 ESC Type B (Tmotor F55A PRO G071)
                ID: 3, SW: 38, HW: 33: Blheli32 4-in-1 ESC Type B (Tmotor F55A PRO G071)

                INFO: Loading XML config file...
                WARNING: Tune Parameter "tone_freqs_10hz" incompatible
                WARNING: Tune Parameter "tone_times_ms" incompatible
                Traceback (most recent call last):
                File "./voxl-esc-upload-params.py", line 124, in <module>
                esc.params.parse_xml_string( xml_string )
                File "./tmp/voxl-esc-tools-bin-export-1.2/libesc/params.py", line 518, in parse_xml_string
                File "./tmp/voxl-esc-tools-bin-export-1.2/libesc/params.py", line 935, in set_packet_metadata
                File "./tmp/voxl-esc-tools-bin-export-1.2/libesc/params.py", line 249, in update_crc
                File "./tmp/voxl-esc-tools-bin-export-1.2/libesc/params.py", line 165, in get_param_bytes_for_crc
                File "./tmp/voxl-esc-tools-bin-export-1.2/libesc/params.py", line 85, in byteify
                struct.error: pack expected 12 items for packing (got 4)

                Erez

                1 Reply Last reply
                0
                • Alex KushleyevA Alex Kushleyev

                  @ErezI

                  We recently updated the parameter structure in the ESC params. The ESCs you have are using older params. If you wanted to verify or update those params, please use the following version of voxl-esc tools : https://gitlab.com/voxl-public/voxl-sdk/utilities/voxl-esc/-/tree/v1.1.1

                  If you want to use the latest params, a firmware update and param update is required.
                  You can use the latest voxl-esc tools : https://gitlab.com/voxl-public/voxl-sdk/utilities/voxl-esc/-/tree/v1.2.2

                  update the firmware on all ESCs:
                  ./voxl-esc-upload-firmware-all.sh firmware/modalai_esc_firmware_tmotor_f55a_revc_v0_38_9b6d54b6.bin

                  At this point the ESCs will make a sad tone because the params will be invalid. Now update the params to the latest default params for the tmotor ESC.
                  ./voxl-esc-upload-params.py --params-file ../voxl-esc-params/FPV_RevB/FPV_RevB.xml

                  After this, you should have the ESC updated firmware and params to the latest. Next you can diff your desired params against the latest params you just loaded, and create a new version of your params.

                  I noticed that you have pretty high kp and ki values. If you are just starting out, i would suggest setting kp=0 and ki=0, this will result in performance close to a off-the-shelf ESC. having gains set too high could result in vibrations or motors heating up, it will require some more careful testing.

                  Additionally, i noticed that your tuning params do not have a lot of precision, which will result in incorrect curve. You should have at least 3 or preferably 6 decimal places for each of a0, a1, a2 to avoid any error. You can copy paste them directly from the calibration procedure.

                  <param name="pwm_vs_rpm_curve_a0" value="870.0"/>
                  <param name="pwm_vs_rpm_curve_a1" value="0.5"/>
                  <param name="pwm_vs_rpm_curve_a2" value="3.0e-06"/>

                  Alex

                  E Offline
                  E Offline
                  ErezI
                  Contributor
                  wrote on last edited by
                  #24

                  @Alex-Kushleyev

                  Alex,

                  more info

                  /data/voxl-esc-v1.2.2/voxl-esc-tools$ sudo ./voxl-esc-verify-params.py
                  Detected Python version : 3.8.10 (default, May 26 2023, 14:05:08)
                  [GCC 9.4.0]
                  Found voxl-esc tools bin version: 1.2
                  INFO: All COM ports:
                  /dev/ttyS4 : n/a
                  /dev/ttyUSB0 : TTL232R
                  INFO: UART Port Candidates:
                  /dev/ttyUSB0
                  Found previous connection information in .voxl_esc_cache ..
                  Prioritizing /dev/ttyUSB0 @ 57600
                  INFO: Scanning for ESC firmware: /dev/ttyUSB0, baud: 57600
                  INFO: ESC(s) detected on port: /dev/ttyUSB0, baud rate: 57600
                  ID config CRC mismatch 60163 != 0
                  ERROR: Params for ID 0 are invalid!
                  ID config CRC mismatch 60163 != 0
                  ERROR: Params for ID 1 are invalid!
                  ID config CRC mismatch 60163 != 0
                  ERROR: Params for ID 2 are invalid!
                  ID config CRC mismatch 60163 != 0
                  ERROR: Params for ID 3 are invalid!
                  ERROR: Some params are invalid or not the same!
                  Number of ESCs expected : 4
                  Number of ESCs found : 4
                  Number of invalid params : 4
                  Number of matched params : 4

                  1 Reply Last reply
                  0
                  • Alex KushleyevA Alex Kushleyev

                    @ErezI

                    We recently updated the parameter structure in the ESC params. The ESCs you have are using older params. If you wanted to verify or update those params, please use the following version of voxl-esc tools : https://gitlab.com/voxl-public/voxl-sdk/utilities/voxl-esc/-/tree/v1.1.1

                    If you want to use the latest params, a firmware update and param update is required.
                    You can use the latest voxl-esc tools : https://gitlab.com/voxl-public/voxl-sdk/utilities/voxl-esc/-/tree/v1.2.2

                    update the firmware on all ESCs:
                    ./voxl-esc-upload-firmware-all.sh firmware/modalai_esc_firmware_tmotor_f55a_revc_v0_38_9b6d54b6.bin

                    At this point the ESCs will make a sad tone because the params will be invalid. Now update the params to the latest default params for the tmotor ESC.
                    ./voxl-esc-upload-params.py --params-file ../voxl-esc-params/FPV_RevB/FPV_RevB.xml

                    After this, you should have the ESC updated firmware and params to the latest. Next you can diff your desired params against the latest params you just loaded, and create a new version of your params.

                    I noticed that you have pretty high kp and ki values. If you are just starting out, i would suggest setting kp=0 and ki=0, this will result in performance close to a off-the-shelf ESC. having gains set too high could result in vibrations or motors heating up, it will require some more careful testing.

                    Additionally, i noticed that your tuning params do not have a lot of precision, which will result in incorrect curve. You should have at least 3 or preferably 6 decimal places for each of a0, a1, a2 to avoid any error. You can copy paste them directly from the calibration procedure.

                    <param name="pwm_vs_rpm_curve_a0" value="870.0"/>
                    <param name="pwm_vs_rpm_curve_a1" value="0.5"/>
                    <param name="pwm_vs_rpm_curve_a2" value="3.0e-06"/>

                    Alex

                    E Offline
                    E Offline
                    ErezI
                    Contributor
                    wrote on last edited by
                    #25

                    @Alex-Kushleyev

                    Alex,

                    With the new file it works:

                    sudo python3 ./voxl-esc-upload-params.py --params-file ../voxl-esc-params/FPV_RevB/FPV_RevB.xml
                    Detected Python version : 3.8.10 (default, May 26 2023, 14:05:08)
                    [GCC 9.4.0]
                    Found voxl-esc tools bin version: 1.2

                    INFO: Params file name : ../voxl-esc-params/FPV_RevB/FPV_RevB.xml
                    INFO: Params file size : 7663 bytes

                    INFO: All COM ports:
                    /dev/ttyS4 : n/a
                    /dev/ttyUSB0 : TTL232R
                    INFO: UART Port Candidates:
                    /dev/ttyUSB0
                    Found previous connection information in .voxl_esc_cache ..
                    Prioritizing /dev/ttyUSB0 @ 57600
                    INFO: Scanning for ESC firmware: /dev/ttyUSB0, baud: 57600
                    INFO: ESC(s) detected on port: /dev/ttyUSB0, baud rate: 57600
                    INFO: ESCs detected:
                    INFO: ---------------------
                    ID: 0, SW: 38, HW: 33: Blheli32 4-in-1 ESC Type B (Tmotor F55A PRO G071)
                    ID: 1, SW: 38, HW: 33: Blheli32 4-in-1 ESC Type B (Tmotor F55A PRO G071)
                    ID: 2, SW: 38, HW: 33: Blheli32 4-in-1 ESC Type B (Tmotor F55A PRO G071)
                    ID: 3, SW: 38, HW: 33: Blheli32 4-in-1 ESC Type B (Tmotor F55A PRO G071)

                    INFO: Loading XML config file...
                    INFO: Uploading params...
                    -- board config
                    -- id config
                    -- uart config
                    -- tune config
                    DONE
                    INFO: Resetting ESCs...
                    DONE

                    I'll change the relevant parameters to fit our motor's type.

                    Thanks

                    Erez

                    Alex KushleyevA 1 Reply Last reply
                    0
                    • E ErezI

                      @Alex-Kushleyev

                      Alex,

                      With the new file it works:

                      sudo python3 ./voxl-esc-upload-params.py --params-file ../voxl-esc-params/FPV_RevB/FPV_RevB.xml
                      Detected Python version : 3.8.10 (default, May 26 2023, 14:05:08)
                      [GCC 9.4.0]
                      Found voxl-esc tools bin version: 1.2

                      INFO: Params file name : ../voxl-esc-params/FPV_RevB/FPV_RevB.xml
                      INFO: Params file size : 7663 bytes

                      INFO: All COM ports:
                      /dev/ttyS4 : n/a
                      /dev/ttyUSB0 : TTL232R
                      INFO: UART Port Candidates:
                      /dev/ttyUSB0
                      Found previous connection information in .voxl_esc_cache ..
                      Prioritizing /dev/ttyUSB0 @ 57600
                      INFO: Scanning for ESC firmware: /dev/ttyUSB0, baud: 57600
                      INFO: ESC(s) detected on port: /dev/ttyUSB0, baud rate: 57600
                      INFO: ESCs detected:
                      INFO: ---------------------
                      ID: 0, SW: 38, HW: 33: Blheli32 4-in-1 ESC Type B (Tmotor F55A PRO G071)
                      ID: 1, SW: 38, HW: 33: Blheli32 4-in-1 ESC Type B (Tmotor F55A PRO G071)
                      ID: 2, SW: 38, HW: 33: Blheli32 4-in-1 ESC Type B (Tmotor F55A PRO G071)
                      ID: 3, SW: 38, HW: 33: Blheli32 4-in-1 ESC Type B (Tmotor F55A PRO G071)

                      INFO: Loading XML config file...
                      INFO: Uploading params...
                      -- board config
                      -- id config
                      -- uart config
                      -- tune config
                      DONE
                      INFO: Resetting ESCs...
                      DONE

                      I'll change the relevant parameters to fit our motor's type.

                      Thanks

                      Erez

                      Alex KushleyevA Offline
                      Alex KushleyevA Offline
                      Alex Kushleyev
                      ModalAI Team
                      wrote on last edited by
                      #26

                      @ErezI

                      When it comes to comparing the quadratic curve fits, it is difficult to look at just the coefficients and compare them. If you have multiple tests, you should plot the quadratic plots on the same figure and see how repeatable they are. What may seem like a noticeable variation in the coefficients, could still result in curves that are very similar.

                      By the way, you should not just average values of a0, a1, and a2 to get a0_average, a1_average, and a2_average, as this will result in wrong curve. If you would like to find an average of all 4 runs, then you can just create a quadratic fit of all the points from the 4 data sets - that is the proper way to do it. However, if after plotting the 4 curves they look very similar, you can use any of the 4 individual fits. The PI (Proportional Integral) controller on the ESC will compensate for minor deviations.

                      The error you saw with params not being valid was due to the latest version of voxl-esc tools using new parameter structure. So the solution is (which is what you already figured out) to update the firmware and params to latest. This type of change does not happen too often. We will add this to documentation to make this clear.

                      Alex

                      1 Reply Last reply
                      0

                      Hello! It looks like you're interested in this conversation, but you don't have an account yet.

                      Getting fed up of having to scroll through the same posts each visit? When you register for an account, you'll always come back to exactly where you were before, and choose to be notified of new replies (either via email, or push notification). You'll also be able to save bookmarks and upvote posts to show your appreciation to other community members.

                      With your input, this post could be even better 💗

                      Register Login
                      Reply
                      • Reply as topic
                      Log in to reply
                      • Oldest to Newest
                      • Newest to Oldest
                      • Most Votes


                      ModalAI
                      Categories Recent Tags ModalAI.com Docs
                      © 2026 ModalAI® · Accelerating autonomy for smaller, smarter, safer drones · Powered by NodeBB
                      • Login

                      • Login or register to search.
                      • First post
                        Last post
                      0
                      • Categories
                      • Recent
                      • Tags
                      • Popular
                      • Users
                      • Groups