Maker Pro
Maker Pro

How to browse files of a single board computer via USB or RS232 port?

steve_rb

Sep 27, 2013
9
Joined
Sep 27, 2013
Messages
9
Hello, We are using a device with a single board computer inside (TTM-SA2, 94-0). It has a usb and rs232 ports for its PC software to communicate with the device for data transfer. I want to browse files and directories inside this computer. I tried windows xp "ActiveSync" and windows 7 and 10 "windows device mobile center" but my PC did not detect the device and I couldn't sync and browse files and directories inside the device computer. Any advice how to do this? or is there any software I can find for this purpose?

thx
 

Attachments

  • Single board brand.jpg
    Single board brand.jpg
    92.6 KB · Views: 2

kellys_eye

Jun 25, 2010
5,134
Joined
Jun 25, 2010
Messages
5,134
The device probably doesn't run an operating system but instead uses code directly - in other words it may not even have 'files and directories' but the user compiles code on a separate device and uploads the finished product to RAM/EEPROM.

What does the user manual say about accessing it?
 

steve_rb

Sep 27, 2013
9
Joined
Sep 27, 2013
Messages
9
Inside one of the files PC software uploads into the device (attached file) I found "This program cannot be run in DOS mode". This indicates device embeded computer has windows based system and therefore has files and directories. right?
 

Attachments

  • DLL file.rar
    20.6 KB · Views: 0

steve_rb

Sep 27, 2013
9
Joined
Sep 27, 2013
Messages
9
It seems with command like SSH or VNC if device have an ip it is possible to connect to the device. right? here I found some info but I don't enough expertise to understand all materials in this page and I need help.

Also "Telnet" command can be used too. right?

h**ps://www.raspberrypi.com/documentation/computers/remote-access.html
h**ps://www.serial-over-ethernet.com/com-port-redirector/redirect-serial-to-telnet/
 

kellys_eye

Jun 25, 2010
5,134
Joined
Jun 25, 2010
Messages
5,134
So this is a 'Windows Embedded' SBC then? i.e. it's OS allows for Windows software to be run directly on it? If that's the case then it still makes no difference - the OS is taking Windows-generate code to run directly. The only files/folders will be the ones you upload to the device in the first place so you should be able to access them from the PC used to create them.

If your intention is to read code that has been uploaded to it (that you didn't create or load yourself) then all you can reasonably do is download the SBC contents and inspect the code directly - it won't be in the form of files/folders though, it'll still be compiled by the original creator.
 

kellys_eye

Jun 25, 2010
5,134
Joined
Jun 25, 2010
Messages
5,134
The content that says 'this program cannot be run in DOS mode' is always present in compiled Windows files.
 

steve_rb

Sep 27, 2013
9
Joined
Sep 27, 2013
Messages
9
So this is a 'Windows Embedded' SBC then? i.e. it's OS allows for Windows software to be run directly on it? If that's the case then it still makes no difference - the OS is taking Windows-generate code to run directly. The only files/folders will be the ones you upload to the device in the first place so you should be able to access them from the PC used to create them.

If your intention is to read code that has been uploaded to it (that you didn't create or load yourself) then all you can reasonably do is download the SBC contents and inspect the code directly - it won't be in the form of files/folders though, it'll still be compiled by the original creator.
I don't want to see files or directories if it is not possible. As you said I intend to read the code that has been uploaded to it. I want to download the SBC contents and inspect the code directly and be able to write the code back. Is this possible? If so how?
 

steve_rb

Sep 27, 2013
9
Joined
Sep 27, 2013
Messages
9
There is no manual. I tried to ask it from TTM but no reply. Stupid company.

By the way I thing I found a solution but I need confirmation from experts here. Flowing serial port monitor log indicates how device pc software reads data:

1 IRP_MJ_CREATE - Opens a COM port (COM4)
STATUS_SUCCESS
Opened by:
C:\device\Transfer.exe

3 IRP_MJ_DEVICE_CONTROL - Request operates a serial port (COM4)
STATUS_SUCCESS
IOCTL_SERIAL_SET_QUEUE_SIZE - Request sets the size of the internal receive buffer
InSize - 204900
OutSize - 200

5 IRP_MJ_DEVICE_CONTROL - Request operates a serial port (COM4)
STATUS_SUCCESS
IOCTL_SERIAL_GET_BAUD_RATE - Returns the baud rate that is currently set for a COM port
BaudRate - 115200

7 IRP_MJ_DEVICE_CONTROL - Request operates a serial port (COM4)
STATUS_SUCCESS
IOCTL_SERIAL_GET_LINE_CONTROL - Request returns information about the line control set for a COM port
StopBits - 0 (1 stop bit)
Parity - 0 (NO_PARITY)
WordLength - 8

9 IRP_MJ_DEVICE_CONTROL - Request operates a serial port (COM4)
STATUS_SUCCESS
IOCTL_SERIAL_GET_CHARS - Request returns the special characters that Serial uses with handshake flow control
EofChar - 0
ErrorChar - 0
BreakChar - 0
EventChar - 0
XonChar - 17
XoffChar - 19

11 IRP_MJ_DEVICE_CONTROL - Request operates a serial port (COM4)
STATUS_SUCCESS
IOCTL_SERIAL_GET_HANDFLOW - Request returns information about the configuration of the handshake flow control set for a COM port
ControlHandShake - 0x00
FlowReplace - 0x00
XonLimit - 102450
XoffLimit - 25612

13 IRP_MJ_DEVICE_CONTROL - Request operates a serial port (COM4)
STATUS_SUCCESS
IOCTL_SERIAL_GET_PROPERTIES - Request returns information about the capabilities of a COM port
wPacketLength - 64
wPacketVersion - 2
dwServiceMask - 0x00000001 (SP_SERIALCOMM)
dwMaxTxQueue - 0
dwMaxRxQueue - 0
dwMaxBaud - 0x10000000 (Programmable baud rates available)
dwProvSubType - 0x00000001 (RS-232 serial port)
dwProvCapabilities - 0x000000ff (DTR and DSR | Interval timeouts | Parity checking | Receive Line Signal Detect | RTS and CTS | XON and XOFF | Total elapsed timeouts | XON and XOFF flow control)
dwSettableParams - 0x0000007f (Baud rate | Data bits | Handshaking (flow control) | Parity | Parity checking | Receive Line Signal Detect | Stop bits)
dwSettableBaud - 0x1007ffff (75 bps | 110 bps | 134.5 bps | 150 bps | 300 bps | 600 bps | 1200 bps | 1800 bps | 2400 bps | 4800 bps | 7200 bps | 9600 bps | 14400 bps | 19200 bps | 38400 bps | 56K bps | 57600 bps | 115200 bps | 128K bps | Programmable baud rates available)
wSettableData - 0x0000000f (5 data bits | 6 data bits | 7 data bits | 8 data bits)
wSettableStopParity - 0x00001f07 (Even parity | Mark parity | No parity | Odd parity | Space parity | 1 stop bit | 1.5 stop bits | 2 stop bits)
dwCurrentTxQueue - 0
dwCurrentRxQueue - 204900

15 IRP_MJ_DEVICE_CONTROL - Request operates a serial port (COM4)
STATUS_SUCCESS
IOCTL_SERIAL_GET_BAUD_RATE - Returns the baud rate that is currently set for a COM port
BaudRate - 115200

17 IRP_MJ_DEVICE_CONTROL - Request operates a serial port (COM4)
STATUS_SUCCESS
IOCTL_SERIAL_GET_LINE_CONTROL - Request returns information about the line control set for a COM port
StopBits - 0 (1 stop bit)
Parity - 0 (NO_PARITY)
WordLength - 8

19 IRP_MJ_DEVICE_CONTROL - Request operates a serial port (COM4)
STATUS_SUCCESS
IOCTL_SERIAL_GET_CHARS - Request returns the special characters that Serial uses with handshake flow control
EofChar - 0
ErrorChar - 0
BreakChar - 0
EventChar - 0
XonChar - 17
XoffChar - 19

21 IRP_MJ_DEVICE_CONTROL - Request operates a serial port (COM4)
STATUS_SUCCESS
IOCTL_SERIAL_GET_HANDFLOW - Request returns information about the configuration of the handshake flow control set for a COM port
ControlHandShake - 0x00
FlowReplace - 0x00
XonLimit - 102450
XoffLimit - 25612

23 IRP_MJ_DEVICE_CONTROL - Request operates a serial port (COM4)
STATUS_SUCCESS
IOCTL_SERIAL_SET_BAUD_RATE - Request sets the baud rate on a COM port. Serial verifies the specified baud rate
BaudRate - 115200

25 IRP_MJ_DEVICE_CONTROL - Request operates a serial port (COM4)
STATUS_SUCCESS
IOCTL_SERIAL_CLR_RTS - Request clears the RTS control signal

27 IRP_MJ_DEVICE_CONTROL - Request operates a serial port (COM4)
STATUS_SUCCESS
IOCTL_SERIAL_CLR_DTR - Request clears the DTR control signal.

29 IRP_MJ_DEVICE_CONTROL - Request operates a serial port (COM4)
STATUS_SUCCESS
IOCTL_SERIAL_SET_LINE_CONTROL - Request sets the line control register
StopBits - 0 (1 stop bit)
Parity - 0 (NO_PARITY)
WordLength - 8

31 IRP_MJ_DEVICE_CONTROL - Request operates a serial port (COM4)
STATUS_SUCCESS
IOCTL_SERIAL_SET_CHARS - Request sets the special characters that Serial uses for handshake flow control
EofChar - 0
ErrorChar - 0
BreakChar - 0
EventChar - 0
XonChar - 17
XoffChar - 19

33 IRP_MJ_DEVICE_CONTROL - Request operates a serial port (COM4)
STATUS_SUCCESS
IOCTL_SERIAL_SET_HANDFLOW - Request sets the configuration of handshake flow control
ControlHandShake - 0x00
FlowReplace - 0x00
XonLimit - 51225
XoffLimit - 51225

35 IRP_MJ_DEVICE_CONTROL - Request operates a serial port (COM4)
STATUS_SUCCESS
IOCTL_SERIAL_SET_TIMEOUTS - Request sets the timeout value's that the driver uses with read and write requests
ReadIntervalTimeout - 50
ReadTotalTimeoutMultiplier - 0
ReadTotalTimeoutConstant - 50
WriteTotalTimeoutMultiplier - 0
WriteTotalTimeoutConstant - 0

37 IRP_MJ_DEVICE_CONTROL - Request operates a serial port (COM4)
STATUS_SUCCESS
IOCTL_SERIAL_SET_WAIT_MASK - Request configures Serial to notify a client after the occurrence of any one of a specified set of wait events
Mask - 0x00000001 (EV_RXCHAR)

40 IRP_MJ_WRITE - Request transfers data from a client to a COM port (COM4) - 9 bytes of 9
STATUS_SUCCESS
a0 09 00 00 00 01 3c 01 92
12345678


41 IRP_MJ_DEVICE_CONTROL - Request operates a serial port (COM4)
STATUS_SUCCESS
IOCTL_SERIAL_WAIT_ON_MASK - Request is used to wait for the occurrence of any wait event specified by using an IOCTL_SERIAL_SET_WAIT_MASK request
Mask - 0x00000001 (EV_RXCHAR)

43 IRP_MJ_DEVICE_CONTROL - Request operates a serial port (COM4)
STATUS_SUCCESS
IOCTL_SERIAL_GET_COMMSTATUS - Request returns information about the communication status of a COM port
Errors - 0
HoldReasons - 0
AmountInInQueue - 11
AmountInOutQueue - 0
EofReceived - 0
WaitForImmediate - 0


From all of the lines bellow I am interested in the orange line. This line reads data from the device. I need a small program (in C for example) to do all the above line. I want it ask me first "enter com port" then "enter baud rate" then "enter data address" and after this starts reading my requested data (for example 12345678) and saving it inside HD in a txt file (asking me the file name and place) asks me "enter new value (for example 22222222) and write the new value exactly in place of the previous data (overwriting it) and confirm write was successful.

Would this be possible? I would appreciate if some one has time to do this for me. I even can pay in Crypto if it was successful.
Please email me at agooseventapegie (at) gmail (dot) com
 
Last edited:
Top