Shop OBEX P1 Docs P2 Docs Learn Events
Linux and BST — Parallax Forums

Linux and BST

adriadri Posts: 34
edited 2011-09-22 01:28 in Propeller 1
Hi

BST can't find a propeller chip even though one's plugged in to a USB port. Any ideas as to why would be appreciated. It's either sort this out or go back to windows cos I've had plenty of issues with the Ubuntu already!!!

TIA

Adri

Comments

  • TorTor Posts: 2,010
    edited 2011-09-21 11:43
    What type of USB interface is it? The QuickStart or the PropPlug use an FTDI, for example, and when I plug in I can see the FTDI driver getting loaded by using the 'dmesg' command:

    $ dmesg | tail -13
    [7690576.916410] usb 1-1.3: new full speed USB device number 63 using ehci_hcd
    [7690577.014665] usb 1-1.3: New USB device found, idVendor=0403, idProduct=6001
    [7690577.014670] usb 1-1.3: New USB device strings: Mfr=1, Product=2, SerialNumber=3
    [7690577.014673] usb 1-1.3: Product: FT232R USB UART
    [7690577.014675] usb 1-1.3: Manufacturer: FTDI
    [7690577.014677] usb 1-1.3: SerialNumber: A4009GLF
    [7690577.017108] ftdi_sio 1-1.3:1.0: FTDI USB Serial Device converter detected
    [7690577.017156] usb 1-1.3: Detected FT232RL
    [7690577.017159] usb 1-1.3: Number of endpoints 2
    [7690577.017161] usb 1-1.3: Endpoint 1 MaxPacketSize 64
    [7690577.017164] usb 1-1.3: Endpoint 2 MaxPacketSize 64
    [7690577.017166] usb 1-1.3: Setting MaxPacketSize 64
    [7690577.017471] usb 1-1.3: FTDI USB Serial Device converter now attached to ttyUSB0

    which shows me that as far as Linux is concerned the board is there (the above was with QS). And in /dev I see a newly created /dev/ttyUSB0 (most systems now use dynamic /dev updates via 'udev' or the like). It could have been another ttyUSBx if there was something else plugged in already though.

    From then on it should be up to BST. If the above is OK and BST still doesn't work there could be something going on with the actual Propeller communication.

    UPDATE: I just remembered something else. On my system /dev/ttyUSB0 has the following owner.group and access:

    crw-rw---- 1 root dialout 188, 0 Sep 21 20:39 /dev/ttyUSB0

    On other distros (SuSE, for example) it'll be 'uucp' instead of 'dialout'. The point is that you need to be a member of group dialout (or uucp, if that's what your distro uses). You can check this by entering 'id' at the command line when you're logged in and have a terminal or xterm open.
    If you're not a member then log in as root and do an 'adduser <your-account> dialout' (no < or > of course). As you're using Ubuntu I assume there's an 'adduser' command. If not, then add yourself to the 'dialout' (or 'uucp') line in /etc/group manually.

    Then log out completely, all the way back to the login window. Log in again. Open a terminal and verify with 'id' that you're a member of the group that /dev/ttyUSBx is in. If the FTDI driver loads ok, and the device is created in /dev, and the Propeller board is OK, then it should, nay, it will work.

    -Tor
  • altosackaltosack Posts: 132
    edited 2011-09-21 21:29
    Tor,

    The above was very helpful; thank you.

    <rant>Even though I would have considered myself an expert Linux user 10 years ago, Ubuntu is taking it (all of it, including the distro I use, Debian) in directions that I don't really like, even though it has made a lot of things much easier for many people.</rant>

    Anyway, after reading your post, I had bst talking to the Quickstart board in less than 2 minutes.
  • TorTor Posts: 2,010
    edited 2011-09-22 01:28
    I guess it was the group access to /dev/ttyUSB0 that hit you? It isn't really a Ubuntu problem/complication as such, it's just that when in the distant past a Unix system would have either required you to be root to access the device, or given world write access to the device. At some point Unix introduced the ability to be a member of more than one group in addition to your normal group, and that opened up the possibility to use more fine-grained security features. So these days Unix and Linux usually depends on that extra configuration step.

    But I seem to remember that when I first started BST it told me that it could see the device but couldn't access it and please check the group thing.. no, wait, that was probably the 'Saleae' USB logic analyzer software. That's something that BST and others could learn from, it's an easy thing to do for an application.

    -Tor
Sign In or Register to comment.