分类目录归档:Software
NAS DIY: HP ML310e Gen8 V2 + TrueNas v13
Hardware:
HP ML310e Gen8 V2
Update system software with SPP gen8.1
Update iLO4 to v2.8.1
CPU:
E3-1220L V3 @1.10GHz
RAM:
32G ECC DDR3 @1.35V / 1066MHz
System Disk:
32G T-Flash Card + 32G USB Disk
Hrad disk drivers
6 LFF SATA
Software:
TruenNAS – Core – 13.0 – U2
Power Consumption
28W ( Without hard driver )
TCO: RMB 1326.8
HP ML310e Gen8 V2 X1 638
Samsung 8G 2RX8 PC3-12800E X4 397
Intel E3-1220L V3 X1 130
SanDisk 32GB USB3.1 CZ430 X1 35.9
SanDisk Ultra 64GB Micro SD X1 35.9
Toolfree MRA190 5.25=>3.5 X2 90
Update iLO4 to the latest version
To have HTML5 console supported in ILO4, we must to update iLO4 to the new version on HP ML310e Gen8 V2
Go to the HPE support center: support.hpe.com
Search iLO4
Select HPE Integrated Lights-Out 4 (iLO 4)
Select Driver and Software
Download ilO4 2.81 of Online ROM Flash Component for Windows x64 – HPE Integrated Lights-Out 4 —— cp051874.exe
Execute the cp051874.exe under windows, extract the firmware bin file, instead of install
Launch a browser, such as firefox, and login into the iLO4 of ML310e Gen8 V2
Go to Administration / Firmware, select the download bin file, and updating
HP ML310e gen8 V2 system update
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
Deploy draw.io app website on local LAN
Create a new ESXi host with 2G RAM/ 20G disk, Debian 10
# Install java JRE
sudo apt install openjdk-11-jre
java –version
# Install apache ant
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
# Install Tomcat
sudo apt-get install tomcat9 tomcat9-admin
http://127.0.0.1:8080/
http://${SERVER_IP}:8080/
ls -l /var/lib/tomcat9/webapps/ROOT/
# Build drawio, war package
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 )
# Install drwaio
sudo cp build/draw.war /var/lib/tomcat9/webapps
http://127.0.0.1:8080/draw
http://${SERVER_IP}:8080/draw
# Change draw as the root of tomcat
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
# Change tomcat to the http default port: 80
sudo grep 8080 /etc/tomcat9/*
sudo sed -i “s/8080/80/g” /etc/tomcat9/server.xml
http://127.0.0.1
http://${SERVER_IP}
Upgrade wordpress to v5.9.2
logname
A utility of coreutils, which Print the name of the current user
Posix API: getlogin
无法创建 VMFS 数据存储 music – 无法更改主机配置
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
Web audio codec guide
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/3gpp2
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
Creating udev rule for USB DAC
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"