douchette_opticon

douchette opticon

installation du driver pour usb/série FTDIUSBSerialDriver

FTDIUSBSerialDriver is an implementation of a serial driver for FTDI USB devices on Mac OS X.  It supports FT8U232AM, FT8U245AM, FT232BM and FT245BM devices.

le driver fourni par opticon ne marche pas, il faut installer celui trouve sur le site FTDI:http://www.ftdichip.com/Drivers/VCP/MacOSX/FTDIUSBSerialDriver_v2_2_14.dmg

mac-vero:~ admin$ curl http://www.ftdichip.com/Drivers/VCP/MacOSX/FTDIUSBSerialDriver_v2_2_14.dmg -o FTDIUSBSerialDriver_v2_2_14.dmg
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
100  419k  100  419k    0     0  1216k      0 --:--:-- --:--:-- --:--:-- 1293k
mac-vero:~ admin$ hdiutil attach FTDIUSBSerialDriver_v2_2_14.dmg 
Calcul de la somme de contrôle de Driver Descriptor Map (DDM : 0)…
     Driver Descriptor Map (DDM : 0) : vérifiée   CRC32 $FFFE7A78
Calcul de la somme de contrôle de Apple (Apple_partition_map : 1)…
     Apple (Apple_partition_map : 1) : vérifiée   CRC32 $7831DE93
Calcul de la somme de contrôle de disk image (Apple_HFS : 2)…
..............................................................................
          disk image (Apple_HFS : 2) : vérifiée   CRC32 $4B86A52F
Calcul de la somme de contrôle de  (Apple_Free : 3)…
                    (Apple_Free : 3) : vérifiée   CRC32 $00000000
vérifiée   CRC32 $70DE1DFB
/dev/disk1              Apple_partition_scheme          
/dev/disk1s1            Apple_partition_map             
/dev/disk1s2            Apple_HFS                       /Volumes/FTDIUSBSerialDriver_v2_2_14
mac-vero:~ admin$ ls -l /Volumes/FTDIUSBSerialDriver_v2_2_14/
total 0
drwxr-xr-x@ 3 admin  staff  102 Oct 21  2009 FTDIUSBSerialDriver_10_3.mpkg
drwxr-xr-x@ 3 admin  staff  102 Oct 21  2009 FTDIUSBSerialDriver_10_4_10_5_10_6.mpkg

installer -pkg ./mac-vero:~ admin$ sudo installer -pkg /Volumes/FTDIUSBSerialDriver_v2_2_14/FTDIUSBSerialDriver_10_4_10_5_10_6.mpkg -target /
Password:
2010-12-15 14:58:35.828 installer[263:3007] PackageKit: *** Missing bundle identifier: /Library/Receipts/NeoOffice-3.0-Intel.pkg
2010-12-15 14:58:35.845 installer[263:3007] PackageKit: *** Missing bundle identifier: /Library/Receipts/NeoOffice-3.0-Patch-7-Intel.pkg
installer: Package name is FTDIUSBSerialDriverInstaller
installer: Upgrading at base path /
installer: The upgrade was successful.

on démonte le disque

hdiutil detach /Volumes/FTDIUSBSerialDriver_v2_2_14/

on branche le socle:

crw-rw-rw-  1 root  wheel   11,   5  3 déc 18:29 /dev/cu.usbserial-N0004799

apparait quand on plugge le device

NETO

  • le fichier NETO\ JAVA/JavaNetO EGF28203 EGF28212.zip contient le dossier JavaNetO
232 -rwxr-xr-x@  1 me  staff   115K 25 avr  2003 librxtxSerial.jnilib
152 -rwxr-xr-x@  1 me  staff    74K  2 déc  2003 rxtxSerial.dll
 96 -rwxr-xr-x@  1 me  staff    47K  2 déc  2003 rxtxParallel.dll
232 -rwxr-xr-x@  1 me  staff   114K  1 mar  2005 librxtxSerial.so
  8 -rwxr-xr-x@  1 me  staff   795B  1 mar  2005 librxtxSerial.la
232 -rwxr-xr-x@  1 me  staff   114K  1 mar  2005 librxtxSerial-2.1-7pre17.so
  8 -rwxr-xr-x@  1 me  staff   332B 11 mar  2005 Fix permissions at install on mac
  8 -rwxr-xr-x@  1 me  staff    49B 12 oct  2005 preferences.properties
176 -rwxr-xr-x@  1 me  staff    84K 18 jan  2006 NetO_Test.jar
432 -rwxr-xr-x@  1 me  staff   213K 20 avr  2007 neto.jar
  0 drwxr-xr-x@ 15 me  staff   510B 20 avr  2007 Doc

si on lance:

java -jar NetO_Test.jar 
java.lang.UnsatisfiedLinkError: /Users/me/OPH1004/JavaNetO/librxtxSerial.jnilib:  no suitable image found.  Did find:  /Users/me/OPH1004/JavaNetO/librxtxSerial.jnilib: no matching architecture in universal wrapper thrown while loading gnu.io.RXTXCommDriver
Exception in thread "main" java.lang.UnsatisfiedLinkError: /Users/me/OPH1004/JavaNetO/librxtxSerial.jnilib:  no suitable image found.  Did find:  /Users/me/OPH1004/JavaNetO/librxtxSerial.jnilib: no matching architecture in universal wrapper
	at java.lang.ClassLoader$NativeLibrary.load(Native Method)
	at java.lang.ClassLoader.loadLibrary0(ClassLoader.java:1823)
	at java.lang.ClassLoader.loadLibrary(ClassLoader.java:1738)
	at java.lang.Runtime.loadLibrary0(Runtime.java:823)
	at java.lang.System.loadLibrary(System.java:1045)
	at gnu.io.LibLoader.loadLibrary(LibLoader.java:36)
	at gnu.io.CommPortIdentifier.<clinit>(CommPortIdentifier.java:83)
	at neto.NetO.SetupSerialPortArrList(NetO.java:2584)
	at neto.NetO.<init>(NetO.java:1186)
	at NetO_Test.frmMain.<init>(frmMain.java:39)
	at NetO_Test.clsMain.<init>(clsMain.java:23)
	at NetO_Test.clsMain.main(clsMain.java:61)

il y a un problème avec cette lib librxtxSerial.jnilib: mauvaise architecture?
Cette librairie vient du site http://rxtx.org, mais impossible d'en trouver une version récente pour MacOSX récent?

si on teste les fichiers sous linux, ca semble fonctionner: modulo les erreurs sur le port série:

[henry@nemo ~/JavaNetO]$ java -jar NetO_Test.jar Devel Library
=========================================
Native lib Version = RXTX-2.1-7pre17
Java lib Version   = RXTX-2.1-7pre17
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
check_group_uucp(): error testing lock file             

recompilation rxtx

./configure: line 21217: cd: /Library/Java/JavaVirtualMachines/1.6.0_22-b04-307.jdk/Contents/Home/../../../Headers: No such file or directory
./configure: line 21218: cd: /Library/Java/JavaVirtualMachines/1.6.0_22-b04-307.jdk/Contents/Home/../../../Headers: No such file or directory

WARNING: configure is having a hard time determining which
directory contains the file jni_md.h. Edit Makefile and fix the
variable JAVANATINC to point to the correct directory.

The following options are available:
find: /Library/Java/JavaVirtualMachines/1.6.0_22-b04-307.jdk/Contents/Home/../../../Headers: No such file or directory

pourtant le fichier jni_md.h existe:

device-2:rxtx-2.1-7-bins-r2 me$ ls -l /System/Library/Frameworks/JavaVM.framework/Headers/jni_md.h 
-rw-r--r--  1 root  wheel  507  6 oct 19:30 /System/Library/Frameworks/JavaVM.framework/Headers/jni_md.h

on fait la modification proposée dans le Makefile et la compilation passe

les droits sur les dev:

0 drwxr-xr-x  2 _uucp  wheel  68 27 jan  2010 /var/spool/uucp/

et finalement, ça donne:

device-3:JavaNetO me$ java -jar NetO_Test.jar 
Experimental:  JNI_OnLoad called.
java.lang.UnsatisfiedLinkError: gnu.io.RXTXCommDriver.nativeGetVersion()Ljava/lang/String; thrown while loading gnu.io.RXTXCommDriver
java.lang.NoClassDefFoundError: Could not initialize class gnu.io.RXTXCommDriver thrown while loading gnu.io.RXTXCommDriver
device-3:JavaNetO me$ echo $DYLD_LIBRARY_PATH

pourtant, cette fonction semble être présente dans la lib:

device-3:JavaNetO me$ nm librxtxSerial.jnilib |grep -i nativegetversion
0000000000001390 T _Java_gnu_io_RXTXVersion_nativeGetVersion

la solution est donné sur le site Apple, il faut mettre les libs dans un dossier à créer dans le compte de l'utilsateur:

mkdir -p ~/Library/Java/Extensions
cp RXTXcomm.jar i686-apple-darwin10.5.0/librxtxSerial.jnilib ~/Library/Java/Extensions/

et cette partie (détexction du port série tombe en marche!

java -jar NetO_Test.jar 
Experimental:  JNI_OnLoad called.
Stable Library
=========================================
Native lib Version = RXTX-2.1-7
Java lib Version   = RXTX-2.1-7

  • doc Opticon pour développer une appli sur le terminal

après avoir fait les réglages suivants:

  1. Settings, litelink
  2. “Add ID”: mettre &&&&&&
  3. “Receive Dir”, mettre un dossier

on a l'erreur:

-ERROR can not open serial port(30)
-Something went wrong... Error code: -2

la doc dans le fichier “Fix permissions at install on mac” indique:

curruser=`sudo id -p | grep 'login' | sed 's/login.//'`

if [ ! -d /var/spool/uucp ]
then
	sudo mkdir /var/spool/uucp
fi

sudo chgrp uucp /var/spool/uucp
sudo chmod 777 /var/spool/uucp
if [ ! `sudo niutil -readprop / /groups/uucp users | grep $curruser >  /dev/null` ]
then
	sudo niutil -mergeprop / /groups/uucp users $curruser
fi

la commande niutil est remplacée par dseditgroup sur MacOSX 10.6.x

tara:~ me$ dseditgroup -o checkmember uucp
no me is NOT a member of uucp
tara:~ me$ dseditgroup -o edit -a me  -t user uucp
Username and password must be provided.
tara:~ me$ sudo dseditgroup -o edit -a me  -t user uucp
Password:
tara:~ me$ dseditgroup -o checkmember uucp
yes me is a member of uucp

en cherchant sur le Net, on trouve un fichier corrigé de ce script, et il utilise /var/lock au lieu de /var/spool/uucp. Après cette correction, on peut lancer des programmes de tests:

et si on lance Neto, on a maintenant l'erreur:

 java -jar NetO_Test.jar 
Experimental:  JNI_OnLoad called.
Stable Library
=========================================
Native lib Version = RXTX-2.1-7
Java lib Version   = RXTX-2.1-7
Invalid memory access of location 0x2f5007c8 rip=0x128a4bd3c

Segmentation fault

et le système signale que cela vient du module librxtxSerial.jnilib. Il suffit de prendre la lib fourni par le site jlog pour que ça tombe en marche!

installation de la douchette depuis windows

  • seule facon d'avoir le programme charge
  • le driver
  • l'application appload
  • le firmware oxgen à charger dans la douchette
  • douchette_opticon.txt
  • Dernière modification: 2017/08/25 09:56
  • (modification externe)