Skip to content

Pr/ftdi tools#1

Merged
jnohlgard merged 4 commits intojnohlgard:pr/ftdi-toolsfrom
LudwigKnuepfer:pr/ftdi-tools
Feb 9, 2015
Merged

Pr/ftdi tools#1
jnohlgard merged 4 commits intojnohlgard:pr/ftdi-toolsfrom
LudwigKnuepfer:pr/ftdi-tools

Conversation

@LudwigKnuepfer
Copy link
Copy Markdown

No description provided.

@jnohlgard
Copy link
Copy Markdown
Owner

This does not work on FT2232H devices for me.

@jnohlgard
Copy link
Copy Markdown
Owner

(it finds no tty devices)

@LudwigKnuepfer
Copy link
Copy Markdown
Author

Huh, could you paste the directory layout?

@jnohlgard
Copy link
Copy Markdown
Owner

This is a machine with two programmers connected on different USB ports and using USB hubs:

# uname -a
Linux hostname 3.13.0-35-generic #62-Ubuntu SMP Fri Aug 15 01:58:42 UTC 2014 x86_64 x86_64 x86_64 GNU/Linux

Old list-ttys.sh:

/sys/bus/usb/devices/2-6.2.1.1: Eistec AB Mulle Programmer v0.70 serial: '310', tty(s): ttyUSB0, 
/sys/bus/usb/devices/6-1: Eistec AB Mulle Programmer v0.60 serial: '147', tty(s): ttyUSB1, ttyUSB2, 
# find /sys/bus/usb/devices/[0-9]*/ -maxdepth 4 -name tty -follow -print 2> /dev/null
/sys/bus/usb/devices/2-6.2.1/2-6.2.1.1/2-6.2.1.1:1.0/ttyUSB0/tty
/sys/bus/usb/devices/2-6.2.1.1/2-6.2.1.1:1.0/ttyUSB0/tty
/sys/bus/usb/devices/2-6.2.1.1:1.0/driver/6-1:1.0/ttyUSB1/tty
/sys/bus/usb/devices/2-6.2.1.1:1.0/driver/6-1:1.1/ttyUSB2/tty
/sys/bus/usb/devices/2-6.2.1.1:1.0/ttyUSB0/tty
/sys/bus/usb/devices/2-6.2.1.1:1.0/ttyUSB0/driver/ttyUSB1/tty
/sys/bus/usb/devices/2-6.2.1.1:1.0/ttyUSB0/driver/ttyUSB2/tty
/sys/bus/usb/devices/6-1/6-1:1.0/ttyUSB1/tty
/sys/bus/usb/devices/6-1/6-1:1.1/ttyUSB2/tty
/sys/bus/usb/devices/6-1:1.0/driver/2-6.2.1.1:1.0/ttyUSB0/tty
/sys/bus/usb/devices/6-1:1.0/driver/6-1:1.1/ttyUSB2/tty
/sys/bus/usb/devices/6-1:1.0/ttyUSB1/tty
/sys/bus/usb/devices/6-1:1.0/ttyUSB1/driver/ttyUSB0/tty
/sys/bus/usb/devices/6-1:1.0/ttyUSB1/driver/ttyUSB2/tty
/sys/bus/usb/devices/6-1:1.1/driver/2-6.2.1.1:1.0/ttyUSB0/tty
/sys/bus/usb/devices/6-1:1.1/driver/6-1:1.0/ttyUSB1/tty
/sys/bus/usb/devices/6-1:1.1/ttyUSB2/tty
/sys/bus/usb/devices/6-1:1.1/ttyUSB2/driver/ttyUSB0/tty
/sys/bus/usb/devices/6-1:1.1/ttyUSB2/driver/ttyUSB1/tty
# find /sys/bus/usb/devices/[0-9]*/ -maxdepth 3 -name tty -follow -print 2> /dev/null
/sys/bus/usb/devices/2-6.2.1.1/2-6.2.1.1:1.0/ttyUSB0/tty
/sys/bus/usb/devices/2-6.2.1.1:1.0/ttyUSB0/tty
/sys/bus/usb/devices/6-1/6-1:1.0/ttyUSB1/tty
/sys/bus/usb/devices/6-1/6-1:1.1/ttyUSB2/tty
/sys/bus/usb/devices/6-1:1.0/ttyUSB1/tty
/sys/bus/usb/devices/6-1:1.1/ttyUSB2/tty

I can send you a full tree dump, but it is too long to paste here (350 kB).

@LudwigKnuepfer
Copy link
Copy Markdown
Author

OK, so how about this?
find /sys/bus/usb/devices/ -mindepth 3 -maxdepth 3 -name tty -follow -printf '%h\n' 2>/dev/null

@jnohlgard jnohlgard self-assigned this Jan 20, 2015
@LudwigKnuepfer
Copy link
Copy Markdown
Author

@gebart does the above find work for you?

@LudwigKnuepfer
Copy link
Copy Markdown
Author

@gebart ping

@jnohlgard
Copy link
Copy Markdown
Owner

Sorry for the delay, it seems to work for me:

% find /sys/bus/usb/devices/ -mindepth 3 -maxdepth 3 -name tty -follow -printf '%h\n' 2>/dev/null
/sys/bus/usb/devices/2-6.2.1.1:1.0/ttyUSB0
/sys/bus/usb/devices/6-1:1.0/ttyUSB1
/sys/bus/usb/devices/6-1:1.1/ttyUSB2

@LudwigKnuepfer
Copy link
Copy Markdown
Author

$ ./dist/tools/usb-serial/list-ttys.sh
/sys/bus/usb/devices/1-1.1:1.0:   serial: '', tty(s): ttyUSB0, 
/sys/bus/usb/devices/2-1.6.4.1: STMicroelectronics STM32 STLink serial: '0669FF484951775087075220', tty(s): ttyACM2, 
/sys/bus/usb/devices/2-1.6.4.3: Atmel Corp. EDBG CMSIS-DAP serial: 'ATML2127031800001519', tty(s): ttyACM0, 
/sys/bus/usb/devices/2-1.6.4.4: Atmel Corp. EDBG CMSIS-DAP serial: 'ATML2127031800001237', tty(s): ttyACM1, 

@LudwigKnuepfer
Copy link
Copy Markdown
Author

Your original PR:

$ ./dist/tools/usb-serial/list-ttys.sh
/sys/bus/usb/devices/1-1.1: FU Berlin MSB430A serial: 'ARWBN7L8', tty(s): ttyUSB0, 
/sys/bus/usb/devices/2-1.6.4:  USB 2.0 Hub serial: '', tty(s): ttyACM2, ttyACM0, ttyACM1, 
/sys/bus/usb/devices/2-1.6.4.1: STMicroelectronics STM32 STLink serial: '0669FF484951775087075220', tty(s): ttyACM2, 
/sys/bus/usb/devices/2-1.6.4.3: Atmel Corp. EDBG CMSIS-DAP serial: 'ATML2127031800001519', tty(s): ttyACM0, 
/sys/bus/usb/devices/2-1.6.4.4: Atmel Corp. EDBG CMSIS-DAP serial: 'ATML2127031800001237', tty(s): ttyACM1, 
``

@LudwigKnuepfer
Copy link
Copy Markdown
Author

I'll look into it later today in case you didn't in the meantime.

@LudwigKnuepfer
Copy link
Copy Markdown
Author

For reference:

$ ls /sys/bus/usb/devices/1-1.1/1-1.1:1.0/ttyUSB0/tty
ttyUSB0

@LudwigKnuepfer
Copy link
Copy Markdown
Author

$ ./dist/tools/usb-serial/list-ttys.sh
/sys/bus/usb/devices/2-1.6.4.1: STMicroelectronics STM32 STLink serial: '0669FF484951775087075220', tty(s): ttyACM1
/sys/bus/usb/devices/2-1.6.4.3: Atmel Corp. EDBG CMSIS-DAP serial: 'ATML2127031800001519', tty(s): ttyACM0
/sys/bus/usb/devices/2-1.6.4.4: Atmel Corp. EDBG CMSIS-DAP serial: 'ATML2127031800001237', tty(s): ttyACM2
/sys/bus/usb/devices/2-1.6.2: FU Berlin MSB430A serial: 'ARWBN7L8', tty(s): ttyUSB0

@LudwigKnuepfer
Copy link
Copy Markdown
Author

@gebart that should do it.

@jnohlgard
Copy link
Copy Markdown
Owner

Small nitpick: Can you make it merge lines with the same device to show all ttys on the same line?

% ./list-ttys.sh 
/sys/bus/usb/devices/6-1: Eistec AB Mulle Programmer v0.60 serial: '147', tty(s): ttyUSB1
/sys/bus/usb/devices/6-1: Eistec AB Mulle Programmer v0.60 serial: '147', tty(s): ttyUSB2
/sys/bus/usb/devices/2-6.2.1.1: Eistec AB Mulle Programmer v0.70 serial: '310', tty(s): ttyUSB0

@LudwigKnuepfer
Copy link
Copy Markdown
Author

Probably not for the next two weeks.

@LudwigKnuepfer
Copy link
Copy Markdown
Author

@gebart please give it a try

@jnohlgard
Copy link
Copy Markdown
Owner

Almost, only there is some garbage in the output of the ls command when passed more than one directory:

/sys/bus/usb/devices/1-1: Eistec AB Mulle Programmer v0.70 serial: '312', tty(s): /sys/bus/usb/devices/1-1/1-1:1.0/ttyUSB0/tty:
ttyUSB0

/sys/bus/usb/devices/1-1/1-1:1.1/ttyUSB1/tty:
ttyUSB1
/sys/bus/usb/devices/1-2: FTDI TTL232R-3V3 serial: 'FTFAKJQO', tty(s): ttyUSB2

it works with the following ttys= line:

    ttys=$(for t in ${tty}; do echo ${t}/* | xargs basename -a | tr "\n" ','; done | sed -e 's/,$//' -e 's/,/, /g' 2>/dev/null)

Output:

/sys/bus/usb/devices/1-1: Eistec AB Mulle Programmer v0.70 serial: '312', tty(s): ttyUSB0, ttyUSB1
/sys/bus/usb/devices/1-2: FTDI TTL232R-3V3 serial: 'FTFAKJQO', tty(s): ttyUSB2

jnohlgard pushed a commit that referenced this pull request Feb 9, 2015
@jnohlgard jnohlgard merged commit 4bb827d into jnohlgard:pr/ftdi-tools Feb 9, 2015
@LudwigKnuepfer LudwigKnuepfer deleted the pr/ftdi-tools branch February 9, 2015 15:03
jnohlgard pushed a commit that referenced this pull request Dec 21, 2018
* drivers/ccs811: fix types in debug messages

* drivers/driver_ccs811_full: fix unused variable build error
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants