I roadtested the Harting MICA Complete IIoT Starter Kit.

In this follow up, some experiments with the SD card: how to mount it in a container and how to share it on the network.

The documentation for the SD card options is terse. What you can see here are my try-outs. If you have a better solution, please comment.


For this exercise, It's expected that you have a formatted SD card installed in the mica, with at least one file on it - so that we can see if the content can be accessed.


Use the Internal Character Device to Mount the SD Card on a Container


Thank you Gough Lui for the help to get this working.


The sdcard is available as /dev/mmcblk1p1.

You can mount it by registering it in the fstab file.

However, when the init.d system calls mount at startup, the SD card device isn't ready yet.

A solution is to run it at system (re)boot, after devices are initialised. One option is to use cron.


You need to install 2 modules:


apt-get install findutils
apt-get install cron


Create a mount point:


mkdir /media/sdcard
chmod 770 /media/sdcard


Add the following line at the end of /etc/fstab:


/dev/mmcblk1p1 /media/sdcard vfat nofail,gid=46,umask=017,dmask=007  0 0


This registers it as a root writeable file system. Other users need sudo, except when they are in the group plugdev (46).

In the next section, I show how to grant individual users access.

umask 007 and dmask 17 are these responsiblilities:


I wanted to block users from executing files from the sdcard, but they need executable right on directories or they can't access them.

By setting umask=007, files are not executable, except for root. By setting dmask=017, directories are executable and the user can navigate to them.


Then add this line to /etc/crontab (I added it to the begin because it's something that runs early on, but you can place it anywhere in the file):


@reboot root mount /media/sdcard


Test this. I tried several combinations, such as only rebooting the container and restarting the full mica.

Check the mount point to see if you can see - and have access to - the mount.


ls -l /media/sdcard



Giving other users access

You do that by adding those users to the plugdev group:


adduser jancumps plugdev


Next time the user account logs in, it can create and write files on the sdcard.

Here's a directory listing and successful write made by my user:

(I edited the picture but this reflects the reality)


Share the SD card on the Network


There's a dedicated container to give network access to the SD card. It allows you to publish the SD card as a share.

Configure it similar to this:



The share is now available on the network.



If you want to mount this shared drive into a mica container, install CIFS utilities package.


apt-get install cifs-utils


Instead of the entry in the previous chapter, add this to the /etc/fstab:


//NAS/<sharename you used in the NAS container> /media/sdcard cifs  credentials=/home/<youruser>/.smb 0 0


Make a file /home/<youruser>/.smb with the following content (password is the one you configured in the NAS container settings):


password=<password you used in the NAS container>


I could not get this to work by using the @reboot hook in /etc/crontab. I used a 1 minute schedule:


* * * * * root mount /media/sdcard


Disadvantage, except for the resource use every minute, is that when you unmount the volume, it mounts again. It may not be what you want.


Related Blog
HARTING MICA: Develop and Debug a C GPIO Example in Eclipse - Part 1: User Experience
HARTING MICA: Develop and Debug a C GPIO Example in Eclipse - Part 2: MICA Debian Stretch Setup
HARTING MICA: Develop and Debug a C GPIO Example in Eclipse - Part 3: Eclipse Configuration on Windows
HARTING MICA: Develop and Debug a C GPIO Example in Eclipse - Part 4: Build and Debug the GPIO Example
HARTING MICA: Make a Safe(r) MQTT Container with Certificate and TLS/SSL
HARTING MICA: Manage Access to USB and other Devices
HARTING MICA: SD Card as Shared Storage
HARTING MICA: Alpine Linux and another MQTT Container with Certificate and TLS/SSL
HARTING MICA: Connect to Amazon Web Services
HARTING MICA: Install Java 8 VM in a Debian Stretch Container
HARTING MICA: Read BOSCH CISS Sensor with Java - part 1: USB Connect and Listen