osmo-ccid-firmware/sysmoOCTSIM
Eric Wild 04462d960c allow different prefixes, print memory usage
Change-Id: If34b5eba2992f8f9f75ea234b94467af46b028c6
2019-10-09 15:34:14 +02:00
..
CMSIS update CMSIS to 5.1.2 2019-04-17 12:06:11 +02:00
config Fix USB descriptor bugs (wrong interface, ProtocolsSuported, ...) 2019-10-01 15:23:40 +02:00
dma_m2m add ASFv4 M2M (memory-to-memory DMA) middleware 2019-04-17 10:25:09 +02:00
documentation add ASFv4 M2M (memory-to-memory DMA) middleware 2019-04-17 10:25:09 +02:00
gcc allow different prefixes, print memory usage 2019-10-09 15:34:14 +02:00
hal ASF: add new utils 2019-06-13 18:34:46 +02:00
hpl ASF: add related RTC files 2019-06-06 13:54:56 +02:00
hri ASF: update E54 SERCOM library 2019-06-13 18:34:46 +02:00
include ASF: minor, update copyright 2019-06-13 18:34:46 +02:00
stdio_redirect Switch SERCOM7 (Debug UART) to sync mode + add STDIO 2019-02-27 13:17:17 +00:00
usb ccid_df: Ensure all three endpoints are correctly set 2019-10-01 15:24:12 +02:00
.gitignore ignore output files 2019-02-07 15:56:04 +01:00
AtmelStart.env_conf Update from Atmel START 1.0.87 to 1.1.134 2019-05-17 16:10:00 +02:00
AtmelStart.gpdsc ASF: update e54 library 2019-06-13 18:34:46 +02:00
LICENSE add GPLv2 license 2019-02-07 16:23:30 +01:00
README.md add README file 2019-02-07 16:50:47 +01:00
atmel_start.c Re-structure USB descriptors 2019-05-16 23:05:21 +02:00
atmel_start.h add ASFv4 M2M (memory-to-memory DMA) middleware 2019-04-17 10:25:09 +02:00
atmel_start_config.atstart Add RTC peripheral from ASF4 (CALENDAR) 2019-05-17 18:23:55 +02:00
atmel_start_pins.h output 50 MHz for RMII 2019-05-09 15:46:38 +02:00
ccid_common split ccid into common and host-only code 2019-10-09 13:18:21 +02:00
command.c UART_debug now uses the async library with tx ring 2019-05-09 15:46:38 +02:00
command.h command.c: Print prompt when starting up 2019-04-16 21:11:40 +02:00
cuart_driver_asf4_usart_async.c WIP: Add card_uart driver for ASF4 USART 2019-10-09 14:55:08 +02:00
driver_init.c Add RTC peripheral from ASF4 (CALENDAR) 2019-05-17 18:23:55 +02:00
driver_init.h Add RTC peripheral from ASF4 (CALENDAR) 2019-05-17 18:23:55 +02:00
i2c_bitbang.c Support for sysmoOCTSIM NCN8025/SX1503 control 2019-02-24 23:05:15 +01:00
i2c_bitbang.h Support for sysmoOCTSIM NCN8025/SX1503 control 2019-02-24 23:05:15 +01:00
iso7816_3.c add ISO 7816-3 definitions and utilities 2019-05-09 15:46:38 +02:00
iso7816_3.h add ISO 7816-3 definitions and utilities 2019-05-09 15:46:38 +02:00
libosmo_emb.c ISO7816-3 FSMs as osmo_fsm 2019-10-09 14:50:46 +02:00
linuxlist_atomic.h Add missing linuxlist_atomic.h 2019-05-23 20:30:43 +02:00
logging.h ISO7816-3 FSMs as osmo_fsm 2019-10-09 14:50:46 +02:00
main.c WIP: change IRQ endpoint re-submit logic. 2019-10-09 15:03:26 +02:00
manual_test.c UART_debug now uses the async library with tx ring 2019-05-09 15:46:38 +02:00
ncn8025.c ncn8025: ncn8025_interrupt_active -> ncn8025_interrupt_level 2019-05-16 23:05:21 +02:00
ncn8025.h ncn8025: ncn8025_interrupt_active -> ncn8025_interrupt_level 2019-05-16 23:05:21 +02:00
octsim_i2c.c Support for sysmoOCTSIM NCN8025/SX1503 control 2019-02-24 23:05:15 +01:00
octsim_i2c.h Support for sysmoOCTSIM NCN8025/SX1503 control 2019-02-24 23:05:15 +01:00
replace.h Import libtalloc-2.1.14 into the tree 2019-05-11 20:21:41 +02:00
stdio_start.c UART_debug now uses the async library with tx ring 2019-05-09 15:46:38 +02:00
stdio_start.h Switch SERCOM7 (Debug UART) to sync mode + add STDIO 2019-02-27 13:17:17 +00:00
talloc.c talloc: \n -> \r\n for serial output 2019-05-11 20:21:41 +02:00
talloc.h Import libtalloc-2.1.14 into the tree 2019-05-11 20:21:41 +02:00
usb_descriptors.c Fix USB descriptor bugs (wrong interface, ProtocolsSuported, ...) 2019-10-01 15:23:40 +02:00
usb_start.c WIP: Actual 'main' integration of CCID using msgb queues for USB transfers 2019-05-16 23:05:21 +02:00
usb_start.h WIP: Actual 'main' integration of CCID using msgb queues for USB transfers 2019-05-16 23:05:21 +02:00

README.md

The sysmocom sysmoOCTSIM is a USB CCID device with eight smart card slots. This is the open source firmware for this device.

Hardware

The sysmocom sysmoOCTSIM hardware is proprietary.

It has the following specifications:

  • 8 smart cards slots for 2FF cards (e.g. normal SIM format)
  • each slot is driven individually (e.g. they are not multiplexed)
  • each card can be operated in class A (5.0 V), B (3.0 V), or C (1.8 V)
  • the ISO/IEC 7816-4 T=0 communication protocol is used
  • each card can be clock up to 20 MHz (e.g. maximum allowed by the standard)

For more detailed specification refer to the USB description of the device.

Firmware

Compiling

GNU make and the arm-none-eabi-gcc compiler are required to build the firmware.

The compile the firmware, run the following commands:

cd sysmoOCTSIM/gcc
make

The sysmoOCTSIM/gcc/AtmelStart.bin file is the resulting firmware for the device.

Flashing

The device comes pre-flash with a USB DFU bootloader (e.g. osmo-asf4-dfu). To start the USB DFU bootloader, press on the button on the front right of the panel while powering up the device.

Use the dfu-util utility to flash the firmware onto the device:

dfu-util --device 1d50:6141 --download sysmoOCTSIM/gcc/AtmelStart.bin