topbanner.gif
Login
Username

Password




Not a member yet?
Click here to register.

Forgotten your password?
Request a new one here.
Shoutbox
You must login to post a message.

allenb
05/28/2023 6:19 PM
Laurierejoice Welcome

renatoa
05/22/2023 1:38 AM
Icebreak, coffee drink ?

allenb
05/18/2023 8:23 AM
gvayll and TheGipsyRoaster Welcome

renatoa
05/18/2023 1:23 AM
Gavin and L_To welcome to forum

allenb
05/16/2023 11:49 AM
Wsunate, glad you found us! Post often and have fun! woohoo

In Memory Of Ginny
Donations

Latest Donations
dmccallum - 10.00
JackH - 25.00
snwcmpr - 10.00
Anonymous - 2.00
Anonymous - 5.00
Users Online
Guests Online: 7

Members Online: 0

Total Members: 7,868
Newest Member: Laurierejoice

View Thread

Who is here? 1 guest(s)
 Print Thread
RoastLogger with TC4 on Linux
fg1972
Hi everyone,
I've been using RoastLogger with an Arduino TC4 successfully for the last few years on Windows PC's.
My dedicated roasting PC is starting to fall apart so I've set up another machine with a Linux OS.
On the Linux PC, I've installed Java, Arduino IDE, and RoastLogger which is all good.
As per the RoastLogger Linux instructions, I've added the udev rule and added myself to the 'dialout' group however the TC4 is not detected by RoastLogger, ie; there are no virtual comm ports in the port list.
When the TC4 is plugged to the PC, the Arduino IDE software successfully detects the device as /dev/ttyACM0.
I've checked the sim link created by the udev rule ttyUSB0 -> ttyACM0 exists and the permissions are correct. Also confirming the ttyACM0 file ownership is root':'dialout and I am part of the dialout group.
Does anyone have any idea what else to check for this work under linux?
Thanks
Its Espresso, not Short Black
 
JackH
I found this information on RoastLogger and Linux on the roastLogger site:

"Linux users need to set permissions correctly on a new installation. Please read the following three points for details of the necessary steps. These steps are only necessary on a new installation. If you update the roastLogger via menu > Help > Update RoastLogger then the executable permissions will be set automatically.

2.1 If you wish to use the DMM tab to read from a USB HID device then you may need to set the executable permission of the included USB HID readers included in the /HID folder ( USBHIDReader_Linux for 32 bit systems or USBHIDReader_Linux64 for 64 bit systems).

2.2 Two issues exist with Linux which are both solved by adding the included udev rule.

Unknown devices are not accessible to non-root users in Linux. Due to this the connection to your Victor 86 B or Victor 86 C multimeter will not work until you add the following rule.
Arduino Uno's are not correctly identified to the RoastLogger. The following rule changes the serial port names from the Uno "ttyACM*" which is not recognised to "ttyUSB%n" which is recognised by the RoastLogger.


The included udev rule can be used to solve both of these issues. The rule file is provided in the distribution in folder "/ReadMe Setup info/Linux users read this" titled "45-trcusbhidrule.rules". Copy this rule file into the "/etc/udev/rules.d" folder and restart Linux to permanently fix both issues.

2.3 Serial Devices:

If you wish to connect to a serial device you need to set permission for serial port access. One way to achieve this is to add yourself to the dialout group. Google "linux serial port permissions" for information on granting permission for serial port access."

I did get it running on the Raspberry PI "Raspbian" linux a few years ago but have not done much with it since.
---Jack

KKTO Roaster.
 
fg1972
Thank you Jack,
Those instructions are the same ones I've followed however RoastLogger still doesn't seem to have any com ports for connecting to the TC4.
Its Espresso, not Short Black
 
JackH
Have you tried contacting Tom Coxon on his site? He is "Greenbean" here and on the "too much coffee" site: http://www.toomuc.../index.php
---Jack

KKTO Roaster.
 
GreenBean
I am sorry to hear about your problems and thank you Jack for helping resolve this.

To help your understanding of what could be going on RoastLogger does not in any way communicate directly with the TC4C or Arduino or have anything to do with setting up the serial (com) port.? All communication is handled by the operating system.? When you plug the TC4C/Arduino in the operating system should recognise it, see what communication chip it is using for serial communication and load the correct com port driver.? The driver is then responsible to set up a virtual com port.

When you start RoastLogger or click the ?Refresh port list? button RoastLogger asks the operating system for a list of serial ports (this includes virtual ports) and all the returned ports are listed in the drop down list.? If your TC4C/Arduino is not listed in the drop down list then the driver has not set up the virtual com port correctly, permissions are not set correctly or you have a driver conflict or incorrect driver.? RoastLogger is not involved in this so can not resolve it.

I am sorry that I do not have time to investigate your particular issue in depth with you but you may be able to resolve it yourself after reading the following:

http://www.noland...0Linux.pdf

http://www.ftdich..._Linux.pdf
homepage.ntlworld.com/green_bean/coffee/smilestore/8.gif
Izzo Alex Duetto | Gaggia XD 2 Group | Mazzer Super Jolly | La Cimbali Max | Solis 166 | Hottop P | Hottop B | French Press (several) | Aeropress (collecting dust) | Kettle modded (added digital thermometer)
 
fg1972
Thank you GreenBean, I really appreciate your response to my post. No need to apologize, you've done a fantastic job with RoastLogger.
The information you've provided has been helpful although it talks about FTDI devices which I'm not sure if they apply to my Arduino device or a particular type of USB device as filtering dmesg for FTDI returned no lines. However I did find the below lines relating to my device without filtering for FTDI.

[ 121.132284] usb 2-2: new full-speed USB device number 2 using uhci_hcd
[ 121.343240] usb 2-2: New USB device found, idVendor=20a0, idProduct=4150
[ 121.343250] usb 2-2: New USB device strings: Mfr=1, Product=2, SerialNumber=220
[ 121.343257] usb 2-2: Product: Eleven
[ 121.343263] usb 2-2: Manufacturer: www.freetronics.com
[ 121.343269] usb 2-2: SerialNumber: 649353432333518011A2
[ 121.424348] cdc_acm 2-2:1.0: ttyACM0: USB ACM device
[ 121.426740] usbcore: registered new interface driver cdc_acm
[ 121.426744] cdc_acm: USB Abstract Control Model driver for USB modems and ISDN adapters

Also when the device is plugged in, it appears in /dev as ttyACM0 so I assume the driver is working unless I'm wrong and this is part of the kernel and nothing to do with the driver. (There is a ttyUSB0 simlink pointing to ttyACM0 by the way)
I feel like I'm very close to getting this working but maybe missing something.
Its Espresso, not Short Black
 
chaff
A serial comms terminal program like gtkterm, minicom could help identify. Run the terminal emulator both as root and as regular user, open port /dev/ACM0 at varying speeds, particularly 9600 and 115200 . Any response either from device reboot or to serial commands will verify the comms port is available to applications.
If only root gets successful comms then I'd suspect the udev rules. Try accessing ports on both sides of the symlink: /dev/ttyUSB0 and /dev/ttyACM0 and browse the udev rule: does the USB's PID and VID product and vendor string match those showing in /var/log/messages ? The udev rule should match a UEB device's ID strings to user's access permissions
HTH
 
fg1972
Thank you so much chaff for your help,
I've managed to get out to the man cave tonight and installed gtkterm which can successfully communicate with the device at 115200 on either ttyACM0 or ttyUSB0 as the standard user so no issues there.
I've taken note of the idVendor and idProduct numbers that appear in the syslog and found they do not match the ones listed in /etc/udev/rules.d/45-trcusbhidrule.rules so I've updated the 45-trcusbhidrule.rules file accordingly and a sudo udevadm control --reload-rules
After all this, still does not appear to have a serial port available in RoasLogger and this is the snippet from the syslog.

Jun 7 20:38:13 eM350 kernel: [ 1963.632130] usb 2-1: new full-speed USB device number 8 using uhci_hcd
Jun 7 20:38:13 eM350 kernel: [ 1963.843182] usb 2-1: New USB device found, idVendor=20a0, idProduct=4150
Jun 7 20:38:13 eM350 kernel: [ 1963.843192] usb 2-1: New USB device strings: Mfr=1, Product=2, SerialNumber=220
Jun 7 20:38:13 eM350 kernel: [ 1963.843199] usb 2-1: Product: Eleven
Jun 7 20:38:13 eM350 kernel: [ 1963.843205] usb 2-1: Manufacturer: www.freetronics.com
Jun 7 20:38:13 eM350 kernel: [ 1963.843211] usb 2-1: SerialNumber: 649353432333518011A2
Jun 7 20:38:13 eM350 kernel: [ 1963.848935] cdc_acm 2-1:1.0: ttyACM0: USB ACM device
Jun 7 20:38:13 eM350 mtp-probe: checking bus 2, device 8: "/sys/devices/pci0000:00/0000:00:1d.0/usb2/2-1"
Jun 7 20:38:13 eM350 mtp-probe: bus: 2, device: 8 was not an MTP device
Jun 7 20:38:30 eM350 ModemManager[476]: <info> Creating modem with plugin 'Generic' and '1' ports
Jun 7 20:38:30 eM350 ModemManager[476]: <warn> Could not grab port (tty/ttyACM0): 'Cannot add port 'tty/ttyACM0', unhandled serial type'
Jun 7 20:38:30 eM350 ModemManager[476]: <warn> Couldn't create modem for device at '/sys/devices/pci0000:00/0000:00:1d.0/usb2/2-1': Failed to find primary AT port

The thing I'm not sure about what makes it look at the particular udev rule file when I plug in the device?
Its Espresso, not Short Black
 
chaff
The post from May 31 looked better with the dmesg, system log showing successful dev/ttyACM0 setup. That, and your latest log show the Serial-USB converter's idVendor=20a0 and idProduct=4150. The rules file matches on these strings, so verify that's what you have in the rules file.
I just noticed you'd already reported the Arduino Serial Monitor sees the TC-4, apologies, gtkterm was telling you nothing new. Of course, the Serial Monitor must be closed for another app to be able to own the ttyACM0 port.

I just downloaded RoastLogger and I think I see the same thing, a serial-USB device, visible to gtkterm, does not show up as an available terminal port in RoastLogger ( Fedora 25 amd_x64 ) .

One is an Arduino:
[67772.675826] usb 2-4: New USB device found, idVendor=2341, idProduct=0043
[67772.675834] usb 2-4: New USB device strings: Mfr=1, Product=2, SerialNumber=220
[67772.675838] usb 2-4: Manufacturer: Arduino (www.arduino.cc)
[67772.675842] usb 2-4: SerialNumber: 854303439373516062B0
cdc_acm 2-4:1.0: ttyACM0: USB ACM device

another is a serial debugger :
[71278.165513] usb 2-4: new full-speed USB device number 8 using ohci-pci
[71278.371108] usb 2-4: New USB device found, idVendor=067b, idProduct=2303
[71278.371116] usb 2-4: New USB device strings: Mfr=1, Product=2, SerialNumber=0
[71278.371120] usb 2-4: Product: USB-Serial Controller
[71278.371123] usb 2-4: Manufacturer: Prolific Technology Inc.
[71278.375266] pl2303 2-4:1.0: pl2303 converter detected
[71278.408706] usb 2-4: pl2303 converter now attached to ttyUSB0

I'll look some more to make sure I'm running the app properly, both firmwares behind the serial-usb are presently communicating with another roaster app OK.
 
chaff
I looked some more, here : I need to run RoastLogger :
>sudo java -jar ./RoastLogger.jar
results in
Native library loaded = /tmp/libhidapi-jni-642043225374793436217.so
Native HID library loaded OK
Path to lib = /comm/opt/RoastLogger/RoastLogger/lib/lib/64bit/
Experimental: JNI_OnLoad called.
Stable Library
=========================================
Native lib Version = RXTX-2.1-7
Java lib Version = RXTX-2.1-7
Select Serial port box opened OK with /dev/ttyUSB0 showing
and the 'Refresh port list' button is active

If I run as me, user:

java -jar ./RoastLogger.jar
Native library loaded = /tmp/libhidapi-jni-643776157611606807957.so
Native HID library loaded OK
Path to lib = /comm/opt/RoastLogger/RoastLogger/lib/lib/64bit/
Experimental: JNI_OnLoad called.
Stable Library
=========================================
Native lib Version = RXTX-2.1-7
Java lib Version = RXTX-2.1-7
and then the console floods with this message:
<<check_group_uucp(): error testing lock file creation Error details:Permission deniedcheck_lock_status: No permission to create lock file.
please see: How can I use Lock Files with rxtx? in INSTALL
>> and In the ' Arduino' menu tab
Select Serial port box is blank and disbaled
and the 'Refresh port list' button is does nothing

I stress I'm not running TC4 firmware or any TC4 builds from RoastLogger as arduino firmware. When my arduino is connected its serial interface is recognised by the Arduino serial monitor or by gtkterminal monitor running as user but, for me, the RoastLogger application must be run as superuser. My arduino doesn't speak RoastLogger so I can't check the interface further..
HTH
 
fg1972
Hi chaff,
Many thanks for your help, after a few more hours of playing around I'm pleased to say that I got it working.
Initially I could not see the java command output after loading the app as I had configured the jar executable in the GUI to open using java which launched fine but there was no live log in the background so I was missing the errors that were occurring each time the refresh port list button was pressed. The errors were relating to loading the comms port or something like that and the java errors didn't look right.
Initially when I 1st installed java, I had a few issues and tried several ways to install it so I think the installation was not right from the start. After removing all traces of java and reinstalling it sudo apt-get install openjdk-8-jdk, it worked 1st time!.
I didn't have the permission issue you had as I'd previously set up the udev rule and also added myself to the dialout group.
In my case I did have to update the vendor and product id's in the rule file to match what was detected in the syslog, this is probably due to my device being an Arduino clone.
Thanks chaff and everyone else who chimed in to help. Hope this helps someone else having similar trouble.
Its Espresso, not Short Black
 
Jump to Forum:

Similar Threads

Thread Forum Replies Last Post
RoastLogger does not like new computer Dataloggers/Controllers/Rate of Rise Meters 6 02/10/2021 7:43 AM
Can't Find Roastlogger Software ROASTING SOFTWARE APPS 3 06/21/2020 1:45 PM
Roastlogger Sketch Request Dataloggers/Controllers/Rate of Rise Meters 10 04/07/2020 6:13 PM
Linux can NOT control my new Hottop B-2K+ (SOLVED) HotTop Roaster 2 06/18/2018 8:39 PM
Hazard Warning Roastlogger on Fluidbed Dataloggers/Controllers/Rate of Rise Meters 11 01/19/2018 8:01 AM
Homeroasters Association Logo, and all Content, Images, and Icons © 2005-2016 Homeroasters Association - Logos are the property of their respective owners.
Powered by PHP-Fusion Copyright © 2023 PHP-Fusion Inc
Released as free software without warranties under GNU Affero GPL v3
Designed with by NetriX
Hosted by skpacman