From 59ab2f338703c1fb7c1b9bdffee20c18864b43c2 Mon Sep 17 00:00:00 2001 From: gator96100 Date: Wed, 10 Feb 2021 09:31:08 +0100 Subject: [PATCH 1/2] Added the original VID and PID values --- pm3 | 24 ++++++++++++++++++++++++ 1 file changed, 24 insertions(+) diff --git a/pm3 b/pm3 index 1ee2ebeb8..0337bcab9 100755 --- a/pm3 +++ b/pm3 @@ -155,6 +155,15 @@ function get_pm3_list_Windows { return fi done + + # Original SERIAL PORTS (COM) + for DEV in $(wmic /locale:ms_409 path Win32_SerialPort Where "PNPDeviceID LIKE '%VID_2D2D&PID_504D%'" Get DeviceID 2>/dev/null | awk -b '/^COM/{print $1}'); do + DEV=${DEV/ */} + PM3LIST+=("$DEV") + if [ ${#PM3LIST[*]} -ge "$N" ]; then + return + fi + done #white BT dongle SERIAL PORTS (COM) if $FINDBTDONGLE; then @@ -205,6 +214,21 @@ function get_pm3_list_WSL { fi fi done + + # Original SERIAL PORTS (COM) + for DEV in $($PSHEXE -command "Get-CimInstance -ClassName Win32_serialport | Where-Object PNPDeviceID -like '*VID_2D2D&PID_504D*' | Select DeviceID" 2>/dev/null | sed -nr 's#^COM([0-9]+)\b#/dev/ttyS\1#p'); do + # ttyS counterpart takes some more time to appear + if [ -e "$DEV" ]; then + PM3LIST+=("$DEV") + if [ ! -w "$DEV" ]; then + echo "[!] Let's give users read/write access to $DEV" + sudo chmod 666 "$DEV" + fi + if [ ${#PM3LIST[*]} -ge "$N" ]; then + return + fi + fi + done #white BT dongle SERIAL PORTS (COM) if $FINDBTDONGLE; then From a265888e0831dd2bdd108fd84e520f9fde8da9d6 Mon Sep 17 00:00:00 2001 From: gator96100 Date: Wed, 10 Feb 2021 10:59:49 +0100 Subject: [PATCH 2/2] Merged VID/PID queries --- pm3 | 28 ++-------------------------- 1 file changed, 2 insertions(+), 26 deletions(-) diff --git a/pm3 b/pm3 index 0337bcab9..d8e21d840 100755 --- a/pm3 +++ b/pm3 @@ -148,16 +148,7 @@ function get_pm3_list_Windows { fi # Normal SERIAL PORTS (COM) - for DEV in $(wmic /locale:ms_409 path Win32_SerialPort Where "PNPDeviceID LIKE '%VID_9AC4&PID_4B8F%'" Get DeviceID 2>/dev/null | awk -b '/^COM/{print $1}'); do - DEV=${DEV/ */} - PM3LIST+=("$DEV") - if [ ${#PM3LIST[*]} -ge "$N" ]; then - return - fi - done - - # Original SERIAL PORTS (COM) - for DEV in $(wmic /locale:ms_409 path Win32_SerialPort Where "PNPDeviceID LIKE '%VID_2D2D&PID_504D%'" Get DeviceID 2>/dev/null | awk -b '/^COM/{print $1}'); do + for DEV in $(wmic /locale:ms_409 path Win32_SerialPort Where "PNPDeviceID LIKE '%VID_9AC4&PID_4B8F%' Or PNPDeviceID LIKE '%VID_2D2D&PID_504D%'" Get DeviceID 2>/dev/null | awk -b '/^COM/{print $1}'); do DEV=${DEV/ */} PM3LIST+=("$DEV") if [ ${#PM3LIST[*]} -ge "$N" ]; then @@ -201,22 +192,7 @@ function get_pm3_list_WSL { fi # Normal SERIAL PORTS (COM) - for DEV in $($PSHEXE -command "Get-CimInstance -ClassName Win32_serialport | Where-Object PNPDeviceID -like '*VID_9AC4&PID_4B8F*' | Select DeviceID" 2>/dev/null | sed -nr 's#^COM([0-9]+)\b#/dev/ttyS\1#p'); do - # ttyS counterpart takes some more time to appear - if [ -e "$DEV" ]; then - PM3LIST+=("$DEV") - if [ ! -w "$DEV" ]; then - echo "[!] Let's give users read/write access to $DEV" - sudo chmod 666 "$DEV" - fi - if [ ${#PM3LIST[*]} -ge "$N" ]; then - return - fi - fi - done - - # Original SERIAL PORTS (COM) - for DEV in $($PSHEXE -command "Get-CimInstance -ClassName Win32_serialport | Where-Object PNPDeviceID -like '*VID_2D2D&PID_504D*' | Select DeviceID" 2>/dev/null | sed -nr 's#^COM([0-9]+)\b#/dev/ttyS\1#p'); do + for DEV in $($PSHEXE -command "Get-CimInstance -ClassName Win32_serialport | Where-Object {$_.PNPDeviceID -like '*VID_9AC4&PID_4B8F*' -or $_.PNPDeviceID -like '*VID_2D2D&PID_504D*'} | Select DeviceID" 2>/dev/null | sed -nr 's#^COM([0-9]+)\b#/dev/ttyS\1#p'); do # ttyS counterpart takes some more time to appear if [ -e "$DEV" ]; then PM3LIST+=("$DEV")