Commit Graph

88 Commits (5f44986c1b3fbe96b22038f54fd26a8d0aa5a720)

Author SHA1 Message Date
Paul Hollinsky 16b88b7787 macOS: PCAP: Fix typo 2021-07-05 23:55:22 -04:00
Paul Hollinsky 02c14aeb35 macOS: PCAP: Add code necessary for device discovery
You will still need chmod_bpf or similar to find devices
2021-06-17 21:07:22 -04:00
Paul Hollinsky 37d06807e4 POSIX: PCAP: Update inferface name to match Windows implementation 2021-06-15 19:09:13 -04:00
Paul Hollinsky b13a33f0be Windows: PCAP: Less verbose name for the interface
Fixing some tabs/spaces formatting here as well
2021-06-15 19:09:05 -04:00
Tomasz Ziobrowski af2c30885b Added support for MinGW32 - to be working with qticsneo 2021-06-15 20:15:08 +02:00
Paul Hollinsky 4b7cb28bdf API: Legacy: Disable octal mappings for non-stubbed functions 2021-06-11 18:42:33 -04:00
Paul Hollinsky 45c879c2b6 API: Legacy: Update def file with the correct ordinals 2021-06-11 13:52:09 -04:00
Sangeetha Hariharasudhan 9e70a9d51f API: Legacy: Implement functions necessary for J2534
icsneoEnableNetworkComEx
icsneoGetDeviceSettingsType
icsneoGetDeviceSettings
icsneoSetDeviceSettings
icsneoGetMiniportAdapterInfo
icsneoEnableDOIPLine
icsneoGetVnetSimpleNetid
icsneoGetNetidforSlaveVNETs
icsneoSetBitRateEx
icsneoSetFDBitRate
icsneoSerialNumberFromString
icsneoJ2534Cmd

_stdcall convention added with .def file (octal support)

use NumberBytesHeader instead of NodeID in txmessagesEx
2021-06-10 16:58:11 -04:00
Paul Hollinsky 1b7db51a45 Windows: PCAP: Fix Npcap loading for _UNICODE 2021-06-10 15:18:23 -04:00
Paul Hollinsky 19aabdfacf POSIX: PCAP: Cancel after pcap_breakloop() to EINTR out of poll()
This is necessary as pcap_breakloop() does not actually wake the
thread from blocking operations, such as poll.
2021-06-10 15:17:43 -04:00
Paul Hollinsky 78e3eb18df Drivers: Rename STM32 to CDC ACM
This is much more descriptive of what the driver actually is
2021-05-04 22:37:16 -04:00
Paul Hollinsky 6d22b1e001 POSIX: STM32: Check re-enumeration by inode
This is much more stable than waiting for a set amount of time
We still timeout at 5s, if we see that being hit it can be increased
2021-05-04 22:22:30 -04:00
Paul Hollinsky 622c5ee57a POSIX: STM32: Handle re-enumeration when changing modes 2021-04-27 21:12:59 -04:00
Paul Hollinsky b7ce9819bd POSIX STM32: Handle large write payloads failing with O_NONBLOCK 2021-04-23 17:06:16 -04:00
Paul Hollinsky bb7719d185 POSIX Drivers: Clear disconnected status when closing
This allows us to properly re-open if we were
previously disconnected.
2021-04-23 16:59:48 -04:00
Paul Hollinsky 92790330f1 macOS: STM32: Fix device finding for newer versions of the OS 2021-03-22 16:07:51 -04:00
Paul Hollinsky 09a02ff420 Platform: Windows: Unicode safe
Compile and run correctly whether UNICODE and _UNICODE are defined or not
2021-01-28 15:51:35 -05:00
Kyle Schwarz 33a84bf8ce PCAP: Switch to pcap_dispatch() 2020-11-17 15:05:14 -05:00
Paul Hollinsky e5920417ff POSIX: FTDI: Use libusb include directory
This allows for the same include to be used on macOS
2020-10-08 21:09:45 -04:00
Kyle Schwarz a5b27a15b0 Allow disconnections to be signaled by drivers
This allows for disconnections to be detected quickly
where possible.

It also makes sure other driver errors aren't thrown
in the event of a disconnection.
2020-10-08 17:38:10 -04:00
Paul Hollinsky 6f0654c336 Windows: PCAP: Rework for Ethernet Packetizer and Performance 2020-09-22 19:22:40 -04:00
Paul Hollinsky 9dc4b302ef POSIX: PCAP: Enable if permissions are set, with a warning otherwise
On Linux, raw packet capture requires CAP_NET_RAW (or root).

If we can't capture raw packets, we will not be able to find/connect to
devices over ethernet.
2020-09-14 11:51:15 -04:00
Paul Hollinsky a325d8a12b PCAP: Send initial requests from the interface MAC
This allows the device to respond directly to us
2020-09-01 15:53:45 -04:00
Paul Hollinsky c48995520f POSIX: FTDI: Report warnings and retry on libftdi errors 2020-09-01 15:15:36 -04:00
Paul Hollinsky 5db07102aa PCAP: Listen for ICS_UNSET_MAC
On newer firmware, the device will address the PC directly after
EnableNetworkComm. Before this, it will set the destination MAC to
00:FC:70:FF:FF:FF.
2020-08-27 12:24:35 -04:00
Paul Hollinsky b5c9443fc8 POSIX: PCAP: Ensure packets get captured
No packets were being captured with a timeout of 0
2020-08-27 12:24:35 -04:00
Kyle Schwarz 7cd008a003 Switch to non-blocking I/O for STM32
STM32 can latency is not as good as it could be when it is synchronous due to read() timeouts,
so switch to asynchronous reading with select().
2020-08-25 16:14:47 -04:00
Kyle Schwarz 4cd897badd Fix deadlock with Driver::write
Use a spin lock to recheck the queue size until it has room to push.
2020-08-14 16:57:52 -04:00
Kyle Schwarz afda617894 Remove trailing white-space 2020-08-11 13:42:13 -04:00
Paul Hollinsky 2079037ae4 POSIX FTDI: Nicer error message for when device is in use
Commonly, the device is being used by another libicsneo program
(icsscand, maybe) or passed through to a VM.
2020-06-24 22:15:22 -04:00
Paul Hollinsky 25f079b5c6 POSIX FTDI: Fix a bug where closing device successfully returned an error 2020-06-24 20:59:53 -04:00
Jeffrey Quesnelle 7a71a35848 add option to build with Npcap on Windows 2020-06-16 12:14:46 -04:00
Jeffrey Quesnelle 8f6ff86448 Load pcap_sendqueue functions on Windows 2020-06-12 13:55:47 -04:00
Jeffrey Quesnelle 99879c9021 turn PCAPDLL into a singleton 2020-03-24 13:15:26 -04:00
Paul Hollinsky 38e24d7641 Refactor ICommunication/Transport => Driver 2020-03-09 14:09:27 -04:00
Paul Hollinsky ef34959c91 STM32 device finder for Darwin 2020-02-14 23:18:34 -05:00
Jeffrey Quesnelle 57fb55b686 fix uninitialized memory which may cause Windows to not properly enumerate devices 2020-01-24 13:32:35 -05:00
EricLiu2000 9629864f1b Fixed wait check in device online/offline 2019-08-07 10:06:33 -04:00
Jeffrey Quesnelle 5112e1d2f9 fix building for macos 2019-08-06 17:14:12 -04:00
EricLiu2000 3358241abe Reordered error downgrading, order of going offline, and renamed locks 2019-08-06 10:32:19 -04:00
EricLiu2000 f41b5c4a79 Removed cancellation of error downgrading after closing, was causing read access violations. 2019-08-01 14:07:42 -04:00
Paul Hollinsky 511a724252 POSIX FTDI: Improve performance by setting the latency timer 2019-07-26 17:46:24 -04:00
EricLiu2000 66126b2b61 Downgraded non-user thread errors to warnings 2019-07-24 13:22:17 -04:00
EricLiu2000 f45bd6772f Builds and runs on both windows and ubuntu 2019-06-25 13:20:49 -04:00
EricLiu2000 50dba62a89 Event refactor builds on Windows 2019-06-24 17:59:45 -04:00
EricLiu2000 965679c370 Added error checking and removed some redundancy from device isOpen() 2019-06-13 16:01:35 -04:00
Paul Hollinsky e081724da6 POSIX PCAP: Resolve a crash on a communication error 2019-05-14 15:22:12 -04:00
Paul Hollinsky 0dae7d4354 STM32: Check that termios attributes are set successfully 2019-05-14 15:21:05 -04:00
Paul Hollinsky f3cd9ac94b Merge branch 'pcap' 2019-05-06 12:50:29 -04:00
Paul Hollinsky 6ffc364eba Transmits now block when the buffer fills 2019-05-02 16:33:44 -04:00