The latest SPP for HP ML310e gen8 V2 is SPP Gen 8.1 (SPPGen81.4.iso)
iLO4 will be updated to v2.55 by this SPP
The latest SPP for HP ML310e gen8 V2 is SPP Gen 8.1 (SPPGen81.4.iso)
iLO4 will be updated to v2.55 by this SPP
Create a new ESXi host with 2G RAM/ 20G disk, Debian 10
sudo apt install openjdk-11-jre
java –version
wget https://downloads.apache.org/ant/binaries/apache-ant-1.10.12-bin.tar.xz
tar xvfJ apache-ant-1.10.12-bin.tar.xz
sudo mv apache-ant-1.10.12/ /usr/local/ant
sudo bash -c ” cat >>/etc/profile ” << EOF
ANT_HOME=”/usr/local/ant”
PATH=”$PATH:/usr/local/ant/bin”
export ANT_HOME
export PATH
EOF
source /etc/profile
ant –version
sudo apt-get install tomcat9 tomcat9-admin
http://127.0.0.1:8080/
http://${SERVER_IP}:8080/
ls -l /var/lib/tomcat9/webapps/ROOT/
wget https://github.com/jgraph/drawio/archive/refs/tags/v17.1.3.tar.gz
tar xvfz v17.1.3.tar.gz
cd drawio-17.1.3
( cd etc/build && ant war )
sudo cp build/draw.war /var/lib/tomcat9/webapps
http://127.0.0.1:8080/draw
http://${SERVER_IP}:8080/draw
cd /var/lib/tomcat9/webapps
sudo rm -rf ROOT
sudo mv draw.war ROOT.war
http://127.0.0.1:8080
http://${SERVER_IP}:8080
sudo grep 8080 /etc/tomcat9/*
sudo sed -i “s/8080/80/g” /etc/tomcat9/server.xml
http://127.0.0.1
http://${SERVER_IP}
A utility of coreutils, which Print the name of the current user
Posix API: getlogin
Detach the disk from vmware console
Enable vmware SSH
ssh login
esxcli storage core path list
ls -ltrh /vmfs/devices/disks/
partedUtil getptbl “/vmfs/devices/disk/t10.ATA_____WDC_WD40EFRX2D68WT0N0_________________________WD2DWCC4ENXFK993”
partedUtil setptbl “/vmfs/devices/disk/t10.ATA_____WDC_WD40EFRX2D68WT0N0_________________________WD2DWCC4ENXFK993” msdos
https://developer.mozilla.org/en-US/docs/Web/Media/Formats/Audio_codecs
Type
audio/ogg
codecs= FLAC
codecs= Opus
codecs= Vorbis
audio
/
mp4
codecs= AAC
codecs= FLAC
codecs= mp3
codecs= Opus
codecs= ALAC
audio/
wave
audio/wav
audio/x-wav
audio/x-pn-wav
audio/mp3
audio/mpeg
audio/webm
codecs= Opus
codecs= Vorbis
audio/3gpp
audio/3gpp
2
audio/aac
audio/
flac
audio/x-flac
Ogg/opus is great for music over internet:
High quality, Simple software implementation, and Free.
but not support by iPad/iPhone
Mp4/AAC LC is the best selection for music over internet for Apple mobile product.
In LAN, we can select Loseloss codec:
Android: Ogg/FLAC
iPad/iPhone: Mp4/ALAC
Target:
Create a new udev rule which will:
Stop the Jack Daemon if DAC power off
Start the Jack Daemon if DAC power on
Identify USB DAC Card:
Power on USB DAC
Check the name of USB DAC
ls -l /proc/asound/
lrwxrwxrwx 1 root root 5 11月 22 17:55 AUDIO -> card2
dr-xr-xr-x 3 root root 0 11月 16 18:43 card0
dr-xr-xr-x 4 root root 0 11月 16 18:43 card1
dr-xr-xr-x 4 root root 0 11月 22 17:55 card2
-r–r–r– 1 root root 0 11月 16 16:36 cards
-r–r–r– 1 root root 0 11月 16 18:43 devices
lrwxrwxrwx 1 root root 5 11月 16 18:43 Generic -> card0
-r–r–r– 1 root root 0 11月 16 18:43 hwdep
-r–r–r– 1 root root 0 11月 16 18:43 modules
dr-xr-xr-x 2 root root 0 11月 16 18:43 oss
-r–r–r– 1 root root 0 11月 16 18:43 pcm
card2 is the name of DAC Card
ls /sys/class/sound
card0 card2 controlC1 hwC0D0 pcmC0D3p pcmC1D0p pcmC2D0p
card1 controlC0 controlC2 hwC1D0 pcmC1D0c pcmC2D0c timer
Get the Attr List of card2
udevadm info /sys/class/sound/card2
P: /devices/pci0000:00/0000:00:12.0/usb2/2-4/2-4:1.0/sound/card2
L: 0
E: DEVPATH=/devices/pci0000:00/0000:00:12.0/usb2/2-4/2-4:1.0/sound/card2
E: SUBSYSTEM=sound
E: USEC_INITIALIZED=523137960408
E: ID_PATH=pci-0000:00:12.0-usb-0:4:1.0
E: ID_PATH_TAG=pci-0000_00_12_0-usb-0_4_1_0
E: ID_FOR_SEAT=sound-pci-0000_00_12_0-usb-0_4_1_0
E: SOUND_INITIALIZED=1
E: ID_VENDOR_FROM_DATABASE=Actions Semiconductor Co., Ltd
E: ID_VENDOR=ACTIONS
E: ID_VENDOR_ENC=ACTIONS
E: ID_VENDOR_ID=10d6
E: ID_MODEL=USB_AUDIO
E: ID_MODEL_ENC=USB\x20AUDIO
E: ID_MODEL_ID=dd01
E: ID_REVISION=0100
E: ID_SERIAL=ACTIONS_USB_AUDIO_4512482ADF0FEEEE
E: ID_SERIAL_SHORT=4512482ADF0FEEEE
E: ID_TYPE=audio
E: ID_BUS=usb
E: ID_USB_INTERFACES=:010100:010200:030000:
E: ID_USB_INTERFACE_NUM=00
E: ID_USB_DRIVER=snd-usb-audio
E: ID_ID=usb-ACTIONS_USB_AUDIO_4512482ADF0FEEEE-00
E: SYSTEMD_WANTS=sound.target
E: TAGS=:systemd:seat:
udevadm info --path=/sys/class/sound/card2 --attribute-walk
looking at device '/devices/pci0000:00/0000:00:12.0/usb2/2-4/2-4:1.0/sound/card2':
KERNEL=="card2"
SUBSYSTEM=="sound"
DRIVER==""
ATTR{number}=="2"
ATTR{id}=="AUDIO"
looking at parent device '/devices/pci0000:00/0000:00:12.0/usb2/2-4/2-4:1.0':
KERNELS=="2-4:1.0"
SUBSYSTEMS=="usb"
DRIVERS=="snd-usb-audio"
ATTRS{supports_autosuspend}=="1"
ATTRS{bInterfaceProtocol}=="00"
ATTRS{authorized}=="1"
ATTRS{bNumEndpoints}=="00"
ATTRS{bInterfaceClass}=="01"
ATTRS{bInterfaceNumber}=="00"
ATTRS{bInterfaceSubClass}=="01"
ATTRS{bAlternateSetting}==" 0"
looking at parent device '/devices/pci0000:00/0000:00:12.0/usb2/2-4':
KERNELS=="2-4"
SUBSYSTEMS=="usb"
DRIVERS=="usb"
ATTRS{devpath}=="4"
ATTRS{bDeviceProtocol}=="00"
ATTRS{bmAttributes}=="c0"
ATTRS{quirks}=="0x0"
ATTRS{tx_lanes}=="1"
ATTRS{product}=="USB AUDIO"
ATTRS{busnum}=="2"
ATTRS{bcdDevice}=="0100"
ATTRS{bNumConfigurations}=="1"
ATTRS{manufacturer}=="ACTIONS"
ATTRS{bNumInterfaces}==" 4"
ATTRS{bDeviceClass}=="00"
ATTRS{configuration}==""
ATTRS{maxchild}=="0"
ATTRS{devnum}=="20"
ATTRS{serial}=="4512482ADF0FEEEE"
ATTRS{bMaxPower}=="300mA"
ATTRS{idVendor}=="10d6"
ATTRS{bDeviceSubClass}=="00"
ATTRS{urbnum}=="25748"
ATTRS{idProduct}=="dd01"
ATTRS{version}==" 1.00"
ATTRS{removable}=="unknown"
ATTRS{authorized}=="1"
ATTRS{bMaxPacketSize0}=="64"
ATTRS{speed}=="12"
ATTRS{rx_lanes}=="1"
ATTRS{lATTRS{avoid_reset_quirk}=="0"
ATTRS{bConfigurationValue}=="1"
looking at parent device '/devices/pci0000:00/0000:00:12.0/usb2':
KERNELS=="usb2"
SUBSYSTEMS=="usb"DRIVERS=="usb"
ATTRS{configuration}==""
ATTRS{idProduct}=="0001"
ATTRS{version}==" 1.10"
ATTRS{tx_lanes}=="1"
ATTRS{bNumInterfaces}==" 1"
ATTRS{bDeviceClass}=="09"
ATTRS{removable}=="unknown"
ATTRS{authorized_default}=="1"
ATTRS{bDeviceSubClass}=="00"
ATTRS{interface_authorized_default}=="1"
ATTRS{busnum}=="2"
ATTRS{bDeviceProtocol}=="00"
ATTRS{bMaxPower}=="0mA"
ATTRS{quirks}=="0x0"
ATTRS{speed}=="12"
ATTRS{bcdDevice}=="0419"
ATTRS{maxchild}=="5"
ATTRS{idVendor}=="1d6b"
ATTRS{devpath}=="0"
ATTRS{manufacturer}=="Linux 4.19.0-9-amd64 ohci_hcd"
ATTRS{avoid_reset_quirk}=="0"
ATTRS{bMaxPacketSize0}=="64"
ATTRS{rx_lanes}=="1"
ATTRS{bmAttributes}=="e0"
ATTRS{urbnum}=="511"
ATTRS{bNumConfigurations}=="1"
ATTRS{product}=="OHCI PCI host controller"
ATTRS{serial}=="0000:00:12.0"
ATTRS{bConfigurationValue}=="1"
ATTRS{ltm_capable}=="no"
ATTRS{devnum}=="1"
ATTRS{authorized}=="1"
# Get kernel prop
udevadm monitor --kernel --property --subsystem-match=usb
monitor will print the received events for:
KERNEL - the kernel uevent
KERNEL[1083.319560] add /devices/pci0000:00/0000:00:12.0/usb2/2-4 (usb)
ACTION=add
DEVPATH=/devices/pci0000:00/0000:00:12.0/usb2/2-4
SUBSYSTEM=usb
DEVNAME=/dev/bus/usb/002/002
DEVTYPE=usb_device
PRODUCT=10d6/dd01/100
TYPE=0/0/0
BUSNUM=002
DEVNUM=002
SEQNUM=2112
MAJOR=189
MINOR=129
Write your udev rule based on selected attrs
cat /opt/local/libexec/udev/rules.d/99-AD-86d.rules
ACTION=="add",SUBSYSTEM=="sound",ATTR{id}=="AUDIO",RUN+="/opt/local/bin/add_ad_86d.sh"
ACTION=="remove",SUBSYSTEM=="usb",ATTRS{idVendor}=="10d6",ATTRS{idProduct}=="dd01",RUN+="/opt/local/bin/remove_ad_86d.sh"
Share my script used to split music image file into indivdual track of wav or flac
OS: Debian/ununtu
Install necessary tool:
sudo apt-get clean
sudo apt-get update
sudo apt-get install -y shntool dos2unix enca flac ffmpeg
Convert
sudo split.sh CDImage.wav wav
# output track in flac format
sudo split.sh CDImage.wav flac
Split.sh
#/bin/bash
if [ $# -ne 2 ] && [ $# -ne 1 ]
then
echo "Usage: sudo split.sh FILE [DECODE]"
echo "Example: sudo split.sh CDImage wav"
echo " sudo split.sh CDImage flac"
echo " sudo split.sh CDImage.wav"
echo " sudo split.sh CDImage.wav flac"
echo " sudo split.sh CDImage"
echo "Note:"
echo " The Input Audio File = FILE.wav or FILE.flac or FILE.ape"
echo " DECODE = wav or flac (Output Audio Format)"
echo " The Input CUE File = FILE.cue"
exit
fi
BFILE=$1
if [ -f ${BFILE} ];then
AUDIO_FILE=${BFILE}
EXT=${BFILE##*.}
case $EXT in
"wav"|"WAV")
FORMAT="wav"
;;
"flac"|"FLAC")
FORMAT="flac"
;;
"ape"|"APE")
FORMAT="ape"
;;
esac
else if [ -f $BFILE.wav ];then
AUDIO_FILE=$BFILE.wav
FORMAT="wav"
else if [ -f $BFILE.flac ];then
AUDIO_FILE=$BFILE.flac
FORMAT="flac"
else if [ -f $BFILE.ape ];then
AUDIO_FILE=$BFILE.ape
FORMAT="ape"
else
echo "Not found audio file: $1.wav or $1.flac or $1.ape "
echo "Exit"
exit
fi
fi
fi
fi
if [ $# -ne 1 ];then
DECODE=$2
fi
if [ "A${DECODE}B" = "AB" ];then
DECODE="wav"
fi
if [ "A${FORMAT}B" = "AB" ];then
FORMAT="${DECODE}"
fi
if [ "A${DECODE}B" = "AapeB" ];then
DECODE="wav"
fi
echo "Audio File = ${AUDIO_FILE}"
echo "Input Format = ${FORMAT} "
echo "Output Format = ${DECODE} "
if [ "$FORMAT" = "ape" ]
then
echo -e "First, convert ape format to ${DECODE} format, waite a minute..."
DECODE_FILE=$BFILE.${DECODE}
#avconv -i "$AUDIO_FILE" "$DECODE_FILE"
ffmpeg -i "$AUDIO_FILE" "$DECODE_FILE"
AUDIO_FILE=$DECODE_FILE
CONVERT="true"
FORMAT="${DECODE}"
fi
#if [ ! "$DECODE" = "$FORMAT" ];then
#echo -e "First, convert ${FORMAT} format to ${DECODE} format, waite a
#minute..."
#DECODE_FILE=$BFILE.${DECODE}
#avconv -i "$AUDIO_FILE" "$DECODE_FILE"
#ffmpeg -i "$AUDIO_FILE" "$DECODE_FILE"
#AUDIO_FILE=$DECODE_FILE
#CONVERT="true"
#fi
CUE_FILE=$BFILE.cue
CUE_FILE_LINUX=$BFILE-linux.cue
if [ ! -f ${CUE_FILE} ];then
MY_DIR="`dirname ${BFILE}`"
MY_NAME="`basename ${BFILE}`"
MY_BASE="${MY_NAME%.*}"
CUE_FILE=${MY_DIR}/${MY_BASE}.cue
if [ ! -f ${CUE_FILE} ];then
echo "unable to find cue file of:"
echo " $BFILE.cue or ${CUE_FILE} "
exit
fi
fi
CODE="`enca ${CUE_FILE} |grep ";"|sed "s/.*; //"`"
echo "CODE=${CODE}"
echo iconv -f "${CODE}" -t utf8 "$CUE_FILE" -o "$CUE_FILE_LINUX"
iconv -f "${CODE}" -t utf8 "$CUE_FILE" -o "$CUE_FILE_LINUX"
dos2unix "$CUE_FILE_LINUX"
echo shntool split -t "%n-%t" -f "$CUE_FILE_LINUX" -o $DECODE "$AUDIO_FILE"
shntool split -t "%n-%t" -f "$CUE_FILE_LINUX" -o $DECODE "$AUDIO_FILE"
if [ "$CONVERT" = "true" ]
then
if [ ! "AB" = "A${DECODE_FILE}B" ];then
if [ -f ${DECODE_FILE} ];then
echo -e "Remove temporary flac file: $DECODE_FILE"
rm -f "$DECODE_FILE"
fi
fi
fi