osmo-ccid-firmware/sysmoOCTSIM
Eric Wild 8200fccb3f talloc asserts
Change-Id: I00df6e41f38eba6b6f06a0dab52035f446718a99
2019-11-28 13:42:16 +01:00
..
CMSIS update CMSIS to 5.1.2 2019-04-17 12:06:11 +02:00
config sercom config for t1 2019-11-28 13:10:34 +01: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 Add card_uart driver for ASF4 USART 2019-11-28 13:42:16 +01:00
hal Avoid endless loop while printing debug uart ringbuffer 2019-11-12 17:33:44 +01: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 split usb descriptor code 2019-11-28 13:09:56 +01: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
check_libccid_config.py Add 'check_ccid_config.py' to test for USB VID/PID in libccid_Info.plist 2019-11-12 17:33:44 +01: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 Add card_uart driver for ASF4 USART 2019-11-28 13:42:16 +01:00
driver_init.c increase the uart ring buffer size 2019-11-28 13:42:16 +01: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 17:58:15 +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 17:58:15 +02:00
main.c Add card_uart driver for ASF4 USART 2019-11-28 13:42:16 +01: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 asserts 2019-11-28 13:42:16 +01:00
talloc.h Import libtalloc-2.1.14 into the tree 2019-05-11 20:21:41 +02:00
usb_descriptors.c split usb descriptor code 2019-11-28 13:09:56 +01:00
usb_descriptors.h split usb descriptor code 2019-11-28 13:09:56 +01: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