Part Number:MSP-CAPT-FR2633
MSP Captivate Devices used for testing:
1) Captivate Programmer Rev C
2) Captivate FR2633 Rev C
3) Captivate BSWP Rev B
4) Micro usb cable arrived in Box.
System Environment:
1) Operating System: Ubuntu 16.04 LTS (64 bit, x86_64)
2) Design Center: 1.80.00.30-linux-x64
3) CCS: CCS9.0.00018_linux-64
4) JDK: 1.8.0_201
Did CCS & Design Center setup as normal user.
Installed Drivers as Root User.
Added below line to hid.rules : /etc/udev/rules.d/ti_hid.rules : ATTRS{idVendor}==”2047”, MODE=”0666”
Used Design Center to design and created code. Installed the Code to device using CCS. Red light blinked while loading.
Proximity sensor works properly on BSWP. Proximity light glows and goes after 2 seconds when hand is removed from board.
=============================================
Issue Faced:
1) Design Center is unable to connect to board as Normal User (some exception is thrown).
2) Design Center connects to board when run as Root User. But, doesn’t receives the data (some exception is thrown).
Note: As a Normal or Root User, in both the cases, CCS automatically detects and connects the board. Also, run time debugging works.
NORMAL USER Exception :
sujit@shinde:~/ti/msp/CapTIvateDesignCenter_1.80.00.30$ ./CapTIvateDesignCenter.bin
04.11 15:18:40 Disconnected from HID device Vid: 8263 Pid 2405 Interface 0
04.11 15:18:40 Disconnected from HID device Vid: 8263 Pid 2405 Interface 1
04.11 15:18:45 Opening log file: /home/sujit/CapTIvateDesignCenter_1_80_00_30/CapTIvateDesignCenter.log
HID open of path failed
com.ti.msp430.HidManagement.HidCommunicationManager$HidCommunicationException: Unable to connect to HidDevice
at com.ti.msp430.HidManagement.HidCommunicationManager.connectDevice(HidCommunicationManager.java:127)
at com.ti.msp430.HidManagement.HidInterface.openConnection(HidInterface.java:209)
at com.ti.msp430.captivate.HidEvents.SensorDataPacketHidInterface.connect(SensorDataPacketHidInterface.java:60)
at com.ti.msp430.captivate.Cdc.CdcDesignCenter.HidConnect(CdcDesignCenter.java:457)
at com.ti.msp430.captivate.CdcBeans.ControllerCustomizer.actionPerformed(ControllerCustomizer.java:559)
at javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:2022)
at javax.swing.AbstractButton$Handler.actionPerformed(AbstractButton.java:2348)
at javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel.java:402)
at javax.swing.JToggleButton$ToggleButtonModel.setPressed(JToggleButton.java:308)
at javax.swing.plaf.basic.BasicButtonListener.mouseReleased(BasicButtonListener.java:252)
at java.awt.Component.processMouseEvent(Component.java:6539)
at javax.swing.JComponent.processMouseEvent(JComponent.java:3324)
at java.awt.Component.processEvent(Component.java:6304)
at java.awt.Container.processEvent(Container.java:2239)
at java.awt.Component.dispatchEventImpl(Component.java:4889)
at java.awt.Container.dispatchEventImpl(Container.java:2297)
at java.awt.Component.dispatchEvent(Component.java:4711)
at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4904)
at java.awt.LightweightDispatcher.processMouseEvent(Container.java:4535)
at java.awt.LightweightDispatcher.dispatchEvent(Container.java:4476)
at java.awt.Container.dispatchEventImpl(Container.java:2283)
at java.awt.Window.dispatchEventImpl(Window.java:2746)
at java.awt.Component.dispatchEvent(Component.java:4711)
at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:760)
at java.awt.EventQueue.access$500(EventQueue.java:97)
at java.awt.EventQueue$3.run(EventQueue.java:709)
at java.awt.EventQueue$3.run(EventQueue.java:703)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:74)
at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:84)
at java.awt.EventQueue$4.run(EventQueue.java:733)
at java.awt.EventQueue$4.run(EventQueue.java:731)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:74)
at java.awt.EventQueue.dispatchEvent(EventQueue.java:730)
at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:205)
at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:116)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:105)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:101)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:93)
at java.awt.EventDispatchThread.run(EventDispatchThread.java:82)
^C
---------------------------------------------------------------------------
ROOT User Exception:
sujit@shinde:~/ti/msp/CapTIvateDesignCenter_1.80.00.30$ sudo ./CapTIvateDesignCenter.bin
[sudo] password for sujit:
04.11 15:22:10 Disconnected from HID device Vid: 8263 Pid 2405 Interface 0
04.11 15:22:10 Disconnected from HID device Vid: 8263 Pid 2405 Interface 1
04.11 15:22:15 Opening log file: /root/CapTIvateDesignCenter_1_80_00_30/CapTIvateDesignCenter.log
04.11 15:23:21 Connected to HID device Vid: 8263 Pid 2405 Interface 0
04.11 15:23:21 Connected to HID deviceVid: 8263 Pid 2405 Interface 1
Error Writing: (null)
bytes_written: 0 totalsize 19 handle 0x2
Apr 11, 2019 3:23:21 PM com.ti.msp430.HidManagement.HidInterface sendData
SEVERE: null
com.ti.msp430.HidManagement.HidCommunicationManager$HidCommunicationException: Unable to transfer buffer!
at com.ti.msp430.HidManagement.HidCommunicationManager.sendData(HidCommunicationManager.java:198)
at com.ti.msp430.HidManagement.HidInterface.sendData(HidInterface.java:297)
at com.ti.msp430.captivate.Cdc.CdcDesignCenter.setTargetCommunicationInterface(CdcDesignCenter.java:444)
at com.ti.msp430.captivate.Cdc.CdcDesignCenter.HidConnect(CdcDesignCenter.java:460)
at com.ti.msp430.captivate.CdcBeans.ControllerCustomizer.actionPerformed(ControllerCustomizer.java:559)
at javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:2022)
at javax.swing.AbstractButton$Handler.actionPerformed(AbstractButton.java:2348)
at javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel.java:402)
at javax.swing.JToggleButton$ToggleButtonModel.setPressed(JToggleButton.java:308)
at javax.swing.plaf.basic.BasicButtonListener.mouseReleased(BasicButtonListener.java:252)
at java.awt.Component.processMouseEvent(Component.java:6539)
at javax.swing.JComponent.processMouseEvent(JComponent.java:3324)
at java.awt.Component.processEvent(Component.java:6304)
at java.awt.Container.processEvent(Container.java:2239)
at java.awt.Component.dispatchEventImpl(Component.java:4889)
at java.awt.Container.dispatchEventImpl(Container.java:2297)
at java.awt.Component.dispatchEvent(Component.java:4711)
at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4904)
at java.awt.LightweightDispatcher.processMouseEvent(Container.java:4535)
at java.awt.LightweightDispatcher.dispatchEvent(Container.java:4476)
at java.awt.Container.dispatchEventImpl(Container.java:2283)
at java.awt.Window.dispatchEventImpl(Window.java:2746)
at java.awt.Component.dispatchEvent(Component.java:4711)
at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:760)
at java.awt.EventQueue.access$500(EventQueue.java:97)
at java.awt.EventQueue$3.run(EventQueue.java:709)
at java.awt.EventQueue$3.run(EventQueue.java:703)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:74)
at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:84)
at java.awt.EventQueue$4.run(EventQueue.java:733)
at java.awt.EventQueue$4.run(EventQueue.java:731)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:74)
at java.awt.EventQueue.dispatchEvent(EventQueue.java:730)
at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:205)
at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:116)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:105)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:101)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:93)
at java.awt.EventDispatchThread.run(EventDispatchThread.java:82)
Error: (null)
Error: (null)
04.11 15:28:27 Disconnected from HID device Vid: 8263 Pid 2405 Interface 0
04.11 15:28:27 Disconnected from HID device Vid: 8263 Pid 2405 Interface 1
=====================================================================
Devices when connected :
1) When the Programmer board is connected to machine, devices gets added at run time under this location
/dev/ttyACM*
a. ttyACM0
b. ttyACM1
2) The default permissions of ttyACM0 & ttyACM1 were User as Root and Group as dialout.
Just gave a random try with various below options to make the design center work in normal user mode, but was unable to succeed.
3) I have added self-user sujit to dialout group. (did not worked)
4) Changed ttyACM0 & ttyACM1 Group to sujit. (did not worked)
5) Changed ttyACM0 & ttyACM1 User to sujit. (did not worked)
6) Changed mode of both the devices to Read-Write-Execute (777). (did not worked)
7) Note : The ttyACM0 & ttyACM1 devices permissions gets RESET to default permissions as the USB cable is removed from machine and plugged again.
Appreciate your inputs for the same.