Outils pour utilisateurs

Outils du site


eid

Installer le lecteur de carte d'identité électronique belge

  • Allez sur la page du site officiel télécharger le fichier .deb http://eid.belgium.be
  • Installez ce fichier .deb via la logithèque ou GDebi
  • Si votre lecteur est un modèle ACR38U, tapez dans le terminal :
 sudo apt-get install libacr38u libacr38ucontrol0

Tout est prêt !

Testé avec

  • Smart Card Reader ACR38U

Testé mais subtilités avec

Le digipass ne fonctionne pas de façon optimale. Pour le faire fonctionner, il faut le débrancher/rebrancher sur le port usb et jouer avec un script écrit par Manuel Schulte. Après un temps d'inutilisation, le lecteur semble entrer en “veille” et pour le faire à nouveau fonctionner, il faut de nouveau lancer le script.

Le script est au bas de la page. Sauvez-le dans un fichier nommé “pcscd_init.sh”.

Ensuite, branchez votre lecteur de carte. Ouvrez un terminal, mettez-vous dans le répertoire du script et lancez

  sudo /bin/bash pcscd_init.sh start -d

Quand vous avez fini, clôturez en lançant :

  sudo /bin/bash pcscd_init.sh stop

Si le lecteur s'éteint, il faut le débrancher, le rebrancher et relancer le script.

Script pcscd_init.sh

#!/bin/bash
#
# Restart pcscd daemon in verbose mode and initiate pcsc_scan.
# You might have to unplug/plug the usb card reader!
EXPECTED_ARGS=2
E_BADARGS=65
#
MYSELF=pcscd_init.sh
#
START=/bin/systemctl" start"
STATUS=/bin/systemctl" status"
STOP=/bin/systemctl" stop"
SERVICE=pcscd.service
SOCKET=pcscd.socket
#
RM=/bin/rm
TOUCH=/usr/bin/touch
#
DAEMON=/usr/sbin/pcscd
DEBUG_SEMAPHORE=/var/run/pcscd.debug
SCAN=/usr/bin/pcsc_scan
#
#
USR=$(whoami)
if [ "$USR" != "root" ]
then
	echo "You must be root to execute this script, re-run with sudo!"
	exit 1
fi
#
# Check argument's number
if [ "$#" -eq "0" ] || [ "$#" -gt "$EXPECTED_ARGS" ]
then
	echo " Usage: $(basename $0) <start/status/scan/stop> [-d | --debug]"
	echo "	-d | --debug:	enable debugging, daemon will start in foreground and will log its activity."
	exit $E_BADARGS
fi
#
#
DBG="$2"
if [ "$2" == "-d" ] || [ "$2" == "--debug" ]
then	
	DBG=1
else
	DBG=0
fi
#
# Check argument's value
if [ "$1" == "start" ]
then
	# Start Daemon
	#  Stop the daemon if was started
	TEST=$(ps -aux | grep -i "[p]cscd")
	if ! [ -z "$TEST" ]
	then
		# Deprecated (upstart)
		#service pcscd stop
		#
		echo "Stopping any running instance first!"
		if [ -e "$DEBUG_SEMAPHORE" ]
		then
			echo "Kill running debug instance..."
			$RM -fv $DEBUG_SEMAPHORE
			killall pcscd
		fi
		#
		$STOP $SOCKET
		$STOP $SERVICE
		sleep 1
		echo "Done stopping running instance."
	fi
	#
	if [ "$DBG" -eq 1 ]
	then
		LOGFILE="/tmp/"${MYSELF%.*}.log
		echo "Starting pcscd daemon in debug mode and in foreground."
		echo "Log file at '$LOGFILE'."
		#  Remember we are in debug mode, create a semaphore
		$TOUCH $DEBUG_SEMAPHORE
		# Start daemon in debug mode:
		#  Restart the daemon in foreround / debug mode but detached!
		#$DAEMON -df |& tee $LOGFILE
		#
		#  Restart the daemon using debug start instructions from L.Rousseau's web page:
		#		LIBCCID_ifdLogLevel=0x000F pcscd --foreground --debug --apdu --color | tee log.txt
		LIBCCID_ifdLogLevel=0x000F $DAEMON -df --apdu --color |& tee $LOGFILE
		echo "Debug session terminated!"
	else
		echo "Starting pcscd daemon in background."
		$START $SOCKET
		$START $SERVICE
		echo "Done starting pcscd."
	fi
fi

if [ "$1" == "status" ]
then
	$STATUS $SOCKET
	$STATUS $SERVICE
fi

if [ "$1" == "scan" ]
then
	# Start Scanning software
	# Stop the app if was started
	TEST=$(ps -aux | grep -i "[p]csc_scan")
	if ! [ -z "$TEST" ]
	then
		killall $SCAN
	fi
	#
	# Restart the scanning app.
	$SCAN
fi

if [ "$1" == "stop" ]
then
	# Stop scanning software.
	TEST=$(ps -aux | grep -i "[p]csc_scan")
	if ! [ -z "$TEST" ]
	then
		killall $SCAN
	fi
	# Stop Daemon.
	# Deprecated (upstart)
	#service pcscd stop
	#
	echo "Stopping pcscd daemon!"
	if [ -e "$DEBUG_SEMAPHORE" ]
	then
		echo "Kill running debug instance..."
		$RM -fv $DEBUG_SEMAPHORE
		killall pcscd
	fi
	#
	$STOP $SOCKET
	$STOP $SERVICE
	sleep 1
	echo "Done stopping pcscd daemon."
	#
	# Stop other running instances of this script!
	TEST=$(ps -aux | grep -i "[p]cscd_init.sh")
	if ! [ -z "$TEST" ]
	then
		killall $MYSELF
	fi	
fi

exit $?
 
eid.txt · Dernière modification: 2017/07/13 01:06 (modification externe)

Outils de la page