Hallo zusammen,
habe mir drei Selbstbau nanoCUL's gebaut. Einen Atmega328P und zwei mit FTDI Chip.
Der Atmega328P funktioniert nach dem Flashen wundbar und reagiert auch mit "minicom" auf SHIFT+V [Enter] mit "V 1.66 nanoCUL868".
Diesen kann ich in FHEM problemlos verwenden.
Die beiden mit FTDI Chip machen Probleme. Sie reagieren nicht in "minicom" und ich bekomme nach dem Ausstieg aus "minicom" solange keinen Prompt bis ich den CUL vom USB-Port abziehe. Nur über "screen /dev/ttyUSB0 38400" und SHIFT+V [Enter] bekomme ich die Ausgabe "V 1.66 nanoCUL868".
In FHEM werden die mit FTDI Chip zwar initialisiert und ich kann Kommandos senden, aber es kommt nichts zurück. Mein HM Rolladen reagiert z.B. mit MISSING ACK.
Intertechno Steckdosen lassen sich garnicht schalten.
Hat jemand eine Idee? Muss ich die Arduino's mit FTDI Chip evtl. anders flashen? Ich habe auch schon Pin25+Pin26 gebrückt. Keine Änderung.
root@fhem:/opt/culfw-1.66/Devices/nanoCUL# make program
#@if test ! -d /sys/class/gpio/gpio17; then echo 17 > /sys/class/gpio/export; fi
#@if test ! -d /sys/class/gpio/gpio18; then echo 18 > /sys/class/gpio/export; fi
#echo out > /sys/class/gpio/gpio17/direction
#echo out > /sys/class/gpio/gpio18/direction
#echo 0 > /sys/class/gpio/gpio17/value
#echo 0 > /sys/class/gpio/gpio18/value
#sleep 1
#echo 1 > /sys/class/gpio/gpio17/value
#sleep 1
#echo 1 > /sys/class/gpio/gpio18/value
avrdude -D -p atmega328p -P /dev/ttyUSB0 -b 57600 -c arduino -U flash:w:nanoCUL.hex
avrdude: AVR device initialized and ready to accept instructions
Reading | ################################################## | 100% 0.01s
avrdude: Device signature = 0x1e950f
avrdude: reading input file "nanoCUL.hex"
avrdude: input file nanoCUL.hex auto detected as Intel Hex
avrdude: writing flash (22370 bytes):
Writing | ################################################## | 100% 9.02s
avrdude: 22370 bytes of flash written
avrdude: verifying flash memory against nanoCUL.hex:
avrdude: load data flash data from input file nanoCUL.hex:
avrdude: input file nanoCUL.hex auto detected as Intel Hex
avrdude: input file nanoCUL.hex contains 22370 bytes
avrdude: reading on-chip flash data:
Reading | ################################################## | 100% 9.54s
avrdude: verifying ...
avrdude: 22370 bytes of flash verified
avrdude: safemode: Fuses OK (E:00, H:00, L:00)
avrdude done. Thank you.
root@fhem:/opt/culfw-1.66/Devices/nanoCUL# ls -l /dev/serial/by-id/
insgesamt 0
lrwxrwxrwx 1 root root 13 Sep 9 01:53 usb-FTDI_FT232R_USB_UART_00000000-if00-port0 -> ../../ttyUSB0
Danke und Gruß
Thomas
Ideen:
- den CUL resetten (irgendein raw-Befehl bzw. die FHEM-Funktioalität): Damit wird auch der CC1101 auf funktionierende Empfangswerte gesetzt
- Spannungsversorgung: Ggf. mal einen aktiven Hub zwischenschalten
- Nachsehen, ob das kein fake-FTDI ist (ich programmiere dazu die Seriennummer und die Herstellerinfos (Text, nicht ID) um. Geht mit dem Tool von FTDI für windo.* oder: (für Linux, das nutze ich): http://rtr.ca/ft232r/
Gruß, Beta-User
Danke, das hat geholfen.
Die PID ist in Ordnung. Sie hat keine Nullen.
root@fhem:# lsusb|grep FT232
Bus 001 Device 004: ID 0403:6001 Future Technology Devices International, Ltd FT232 USB-Serial (UART) IC
Aber die Serial hatte lauter Nullen:
root@fhem:/opt/ft232r_prog-1.25# ls -l /dev/serial/by-id/
insgesamt 0
lrwxrwxrwx 1 root root 13 Aug 6 20:48 usb-FTDI_FT232R_USB_UART_00000000-if00-port0 -> ../../ttyUSB0
die habe ich geändert:
root@fhem:/opt/ft232r_prog-1.25# ./ft232r_prog --old-serial-number 00000000 --new-serial-number TG100470
ft232r_prog: version 1.25, by Mark Lord.
eeprom_size = 128
vendor_id = 0x0403
product_id = 0x6001
self_powered = 0
remote_wakeup = 1
suspend_pull_downs = 0
max_bus_power = 90 mA
manufacturer = FTDI
product = FT232R USB UART
serialnum = TG100470
high_current_io = 0
load_d2xx_driver = 0
txd_inverted = 0
rxd_inverted = 0
rts_inverted = 0
cts_inverted = 0
dtr_inverted = 0
dsr_inverted = 0
dcd_inverted = 0
ri_inverted = 0
cbus[0] = TxLED
cbus[1] = RxLED
cbus[2] = TxDEN
cbus[3] = PwrEn
cbus[4] = Sleep
Rewriting eeprom with new contents.
root@fhem:/opt/ft232r_prog-1.25# ls -l /dev/serial/by-id/
insgesamt 0
lrwxrwxrwx 1 root root 13 Sep 9 10:49 usb-FTDI_FT232R_USB_UART_TG100470-if00-port0 -> ../../ttyUSB0
Danach aus/ein gesteckt und das RAW Kommando abgesetzt.
set myCUL raw B00
Anschließend nochmal aus/ein gesteckt und siehe da, jetzt kriegt der nanoCUL auch Antworten zurück.
Prima! Vielen Dank.
Gruß
Thomas