this post I use to save only commands that uses in every day:
CAN command
first modprobe mcp251x module (SPI to CAN) and then initialize can0 (that made by mcp251x driver) and then send a can packet to the bus
modprobe mcp251x rmmod mcp251x ip link set can0 type can bitrate 500000 ip link set can0 up cansend can0 123#12345678
--------------------------------
init grub after install ArchLinux
دستور زیر کانفیگ گراب رو میسازه که صفحه ی گراب که باز میشه بدونه چه سیستم عامل هایی باید نمایش بده و روت فایل سیستم روی چه پارتیشنی هست و...
grub-mkconfig -o /boot/grub/grub.cfg
این هم برای تنظیم efi هست و تا جایی که فهیدم فایل مربوط به efi رو در مکان boot ایجاد میکنه
grub-install --target=x86_64-efi --efi-directory=/boot/EFI --bootloader-id=GRUB
---------------------------------
change partition size to original size
بعد از نصب آرچ لینوکس تصمیم گرفتم پارتیشن بندی ها رو بهبود بدم برای همین دو تا پارتیشن ساختم یکی برای بوت و دیگری برای روت
بعد با دستور dd این دو تا پارتیشن رو جا به جا کردم.
پارتیشن روت هردو یک گیگ بود و مشکلی پیش نیومد
ولی پارتیشن روت رو چون حجم بیشتری بهش اختصاص دادم وقتی با دستور dd همه چیز رو منتقل کردم حجم فایل سیستم رو میزد 30 گیگ یعنی حجم قبلی درحالیکه حجم پارتیشن ۵۰ گیگ بود
برای حل این مشکل از دستور زیر استفاده کردم
resize2fs /dev/nvmen1p2 50G
که این هم مشکل رو حل کردد. خط زیر هم دستور dd برای اینکار
sudo dd if=/dev/nvme0n1p7 of=/dev/nvme0n1p1 bs=16MB status=progress
------------------------
add minimize and maximaze windows button
gsettings set org.gnome.desktop.wm.preferences button-layout 'appmenu:minimize,maximize,close'
------------------------------
works with WiFi after ArchLinux instalation
برای کار با وایفای هم بعد از نصب آرچ با توجه به اینکه هیچ پکیجی ندارید باید موقع نصب آرچ وقتی chroot کردید به کمک pacman پکیج NetworkManager رو نصب کنید و بعد که وارد آرچ اصلی شدید با دستورات nmcli میتونید به وایفای وصل بشید
--------------
Set Static IP
nmcli con modify WIFINAME ipv4.method manual ipv4.address 192.168.1.201/24 ipv4.gateway 192.168.1.1 ipv4.dns 8.8.8.8 nmcli con down SUCCESS nmcli con up SUCCESS
connect to WIFI
nmcli dev wifi nmcli dev wifi connect SUCCESS password "10201999" nmcli con show iwconfig
change Static IP address of interface (NOT PERSISTANCE)
ip addr add 192.168.1.200/24 dev wlan0
-----------------------------------------
Init Virtual CAN and connect it to real CAN on other device with cannelloni
in your PC first initalize vcan and run cannelloni
sudo ip link add dev vcan0 type vcan sudo ip link set vcan0 mtu 16 sudo ip link set up vcan0 cannelloni -I vcan0 -R 192.168.1.232 -r 2000 -l 2000
in your device (that has real CAN)
cannelloni -I can0 -R 192.168.1.54 -r 2000 -l 2000
for test only you can uses cansend to test that vcan is connected to real can or not. also you can use canopen for test
cansend vcan0 123#4567 canopend vcan0 -i 2 -c "stdio"
-----------------------------------
CMake finding package:
pkg_check_modules
is a function provided by CMake to simplify the process of finding and configuring packages installed on your system. CMake will then search for the specified packages on the system. It uses the pkg-config
tool internally to locate the packages. pkg-config
is a helper tool used to retrieve information about installed libraries in the system. if your CMake can't find an specific package that you sure the package is exist in your system so add the path of *.pc file to PKG_CONFIG_PATH environment variable.
export PKG_CONFIG_PATH=/usr/local/lib/pkgconfig/
to show all detected packages that finded by pkg-config you can use this command:
pkg-config --list-package-names
------------