From 72eeeff0f1c0941d38edb318d48c251feef9b0da Mon Sep 17 00:00:00 2001 From: vermaden Date: Tue, 3 Dec 2019 14:27:49 +0100 Subject: [PATCH] Fix exFAT mount rights. Use USER option in config file. Make MTP detection and mount better. --- automount | 31 ++++++++++++++++++++++--------- automount-1.7.1.tar.gz | Bin 0 -> 6532 bytes automount.conf | 7 ------- 3 files changed, 22 insertions(+), 16 deletions(-) create mode 100644 automount-1.7.1.tar.gz diff --git a/automount b/automount index c9f810b..951fc82 100644 --- a/automount +++ b/automount @@ -144,7 +144,7 @@ if [ "${1}" = '--version' -o \ "${1}" = 'version' -o \ "${1}" = '-v' ] then - echo "automount 1.7.0 2019/08/28" + echo "automount 1.7.1 2019/12/03" exit 0 fi @@ -181,7 +181,7 @@ fi : ${LOG_FILE='/var/log/automount.log'} # log file : ${LOG_DATEFMT='%Y-%m-%d %H:%M:%S'} # 2012-02-20 07:49:09 : ${STATE="/var/run/automount.state"} # current state file -: ${USER="0"} # which user to use for popup +: ${USER="root"} # which user to use for popup # init of main variables DEV="/dev/${1}" @@ -217,7 +217,7 @@ readonly FS_TYPE_EXFAT=33 readonly FS_TYPE_NTFS=34 readonly FS_TYPE_MTP=128 -# FUNCTION: guess filesystemy type from the device +# FUNCTION: guess filesystem type from device __guess_fs_type() { # 1=DEV # first time guess with file(1) tool unset FS_TYPE @@ -365,7 +365,7 @@ __wait_for_device() { # 1=DEV esac # try to read from device to ensure that it alive local COUNT=0 - while ! dd if="${1}" of=/dev/null conv=sync count=1 bs=256k 1> /dev/null 2>&1 + while ! dd if="${1}" of=/dev/null conv=sync count=1 bs=8k 1> /dev/null 2>&1 do if [ ! -e "${1}" ] then @@ -387,6 +387,7 @@ __check_block_device() { # 1=DEV # first check if its block device if ! fstyp ${1} 1> /dev/null 2>&1 then + __log "ASD" __log "${DEV}: not a block device" exit 0 fi @@ -424,10 +425,13 @@ case ${2} in FS_TYPE=${FS_TYPE_ISO9660} ;; (ugen*) - __check_block_device "${DEV}" FS_TYPE=${FS_TYPE_MTP} ;; - (cd*|da*|mmcsd*) + (cd*) + __guess_fs_type "${DEV}" + FS_TYPE=${?} + ;; + (da*|mmcsd*) __check_block_device "${DEV}" __guess_fs_type "${DEV}" FS_TYPE=${?} @@ -487,6 +491,7 @@ case ${2} in (${FS_TYPE_FAT}) # FreeBSD 12.x does not support '-o large' option case $( sysctl -n kern.osrelease ) in + (10*) LARGE="-o large" ;; (11*) LARGE="-o large" ;; (*) LARGE="" ;; esac @@ -525,14 +530,19 @@ case ${2} in __log "command '${FS_MOUNT_CMD}' not found" exit 1 fi - PHONEDEV=$( simple-mtpfs --list-devices -d ${DEV} 2>&1 ) + PHONEDEV=$( simple-mtpfs --list-devices -d ${DEV} 2> /dev/null ) if [ "${PHONEDEV}" = "No raw devices found." ] then __log "${DEV}: no raw devices found" exit 0 fi PHONEDEV=$( echo "${PHONEDEV}" | awk '{print $1}' | tr -d ':' ) - FS_MOUNT_ARGS="--device ${PHONEDEV} ${MNT} -o allow_other -o intr -o big_writes -o uid=${UID} -o gid=${GID}" + if [ ! ${PHONEDEV} ] + then + __log "${DEV}: no MTP devices found" + exit 0 + fi + FS_MOUNT_ARGS="--device ${PHONEDEV} ${MNT} -o allow_other -o uid=${UID} -o gid=${GID}" ;; (*) __log "${DEV}: filesystem not supported or no filesystem" @@ -541,7 +551,7 @@ case ${2} in esac # create mount point - mkdir -m "${MNT_MODE}" -p "${MNT}" + mkdir -m "${MNT_MODE}" -p "${MNT}" __log "${DEV}: create '${MNT}' dir" # check file system before mount @@ -559,6 +569,9 @@ case ${2} in done fi + # check is device already mounted + __check_already_mounted "${DEV}" "${MNT}" + # try to mount if ! /usr/bin/which -s "${FS_MOUNT_CMD}" then diff --git a/automount-1.7.1.tar.gz b/automount-1.7.1.tar.gz new file mode 100644 index 0000000000000000000000000000000000000000..36f829a701c6872e7b9297a575b9ac943ac9e249 GIT binary patch literal 6532 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 q`aS;tCtlJo1)S?