Driver Disk Installation Guide for ARC-11XX/ARC12XX/ARC16XX/18XX RAID Controller 
on Proxmox 8.2-1 x86_64(kernel 6.8.4-2-pve)
=================================================================================
=================================================================================
Linux SCSI driver technical support 
Mail address: support@areca.com.tw
Web site: www.areca.com.tw
==================================================================================
==================================================================================

**********************************************************************************   
1. Contents
**********************************************************************************
readme.txt	- the installation guide of ARC-11XX/12XX/16XX/18XX driver for Proxmox
arcmsr_1.51.0X.16-Proxmox8.2-1-k6.8.4-2_amd64.deb - driver for x86_64 of kernel 6.8.4-2

**********************************************************************
2. Installing raid driver on your System	
**********************************************************************
   Currently, pve 8.2-1 built-in driver can support areca all Raid controllers.
   If your Linux system can use Areca Raid volume normally, you need not to install driver package.

	Install right package for your target kernel version and enter the real kernel version for
	following $(TARGET_KERNEL_VERSION).
	# su
	# dpkg -i arcmsr_1.51.0X.16-Proxmox8.2-1-k6.8.4-2_amd64.deb
	# depmod -a $(TARGET_KERNEL_VERSION)
	# update-initramfs -u -k $(TARGET_KERNEL_VERSION)

	Reboot your system to make arcmsr driver take effect.


**********************************************************************************
3. To support thunderbolt cable hotplug
**********************************************************************************

	Proxmox 8.2-1 has native support Areca thunderbolt 2 & 3 devices, ARC-8050T2/T3 series.
	The first time of connection thunderbolt device to system, it may need to authorize the device to system.

	You can do it by terminal console.
	1. Find the thunderbolt deivce's UUID.
	   # apt-get install bolt
	   # boltctl list

	2. Give an authorised permission to thunderbolt devices
	   # boltctl authorize UUID
	   	where UUID is thunderbolt device's UUID, like 00000000-0000-0008-0015-5f0b2012a051
	   Now detecting devices start, just a moment you will can access thunderbolt devices.


**********************************************************************************
4. To set driver parameters value
**********************************************************************************
    arcmsr provided driver parameters setting since v1.30.0X.25.
    Multiple Driver parameters can be set at a time.
    e.g. # insmod arcmsr.ko host_can_queue=72 cmd_per_lun=16

    Setting parameter value out of range will be ignored, parameter remain default value.

    a. To list what driver parameter can be set, parameter default value and value range.
       # modinfo arcmsr

    b. To set driver parameter when you manually install driver.
       (This method will be infeasible if your system was boot from areca Raid volume.)
       e.g. to set parameter host_can_queue value to 64
       # sudo rmmod arcmsr
       # sudo insmod /lib/modules/$(uname -r)/kernel/drivers/scsi/arcmsr/arcmsr.ko host_can_queue=64

    c. To set driver parameter during booting from grub menu.
       When grub menu display, use UP and DOWN arrow key to move cursor to booting target.
       Type e to edit, move cursor to end of line that include "linux   /boot/vmlinuz-x.xx.xx ....."
       Append driver parameter to there.(e.g. to set parameter host_can_queue value to 64)

       linux   /boot/vmlinuz-6.8.4-2..... ... ... quiet arcmsr.host_can_queue=64

    d. To set driver parameter for every boot up.
       e.g. to set parameter host_can_queue value to 64
       # sudo gedit /boot/grub/grub.cfg
       Append driver parameter setting to end of line that include "linux   /boot/vmlinuz-x.xx.xx ....."

       linux   /boot/vmlinuz-6.8.4-2..... ... ... quiet arcmsr.host_can_queue=64

    e. To verify parameter setting is correct.
       1. To locate adapter parameter directory
          Find Areca host number:
          # dmesg | grep 'scsi host'
          # cat /sys/class/scsi_host/hostX/proc_name
                where hostX could be host0, host1, ...
          The correct output should be 'arcmsr'. If output is (null), check host_fw_model and host_driver_version.
          # cat /sys/class/scsi_host/hostX/host_fw_model
          # cat /sys/class/scsi_host/hostX/host_driver_version

       2. List host_can_queue value
          #  cat /sys/class/scsi_host/hostX/can_queue

       3. List cmd_per_lun value
          #  cat /sys/class/scsi_host/hostX/cmd_per_lun

       4. List cmd_timeout value
          #  cat /sys/block/sdX/device/cmd_timeout
             where sdX could be sda, sdb, ...
