ada[0-5] versus ahcich[0-5] on 11.4_amd64

From: spellberg_robert <emailrob_at_risebroadband.net>
Date: Sun, 19 Dec 2021 23:59:42 UTC
2021_dec_19_sun

howdy , folks ---

it has been a_while , so , i hope that all of you_and_yours are well ;
   we are doing just fine .



in this post , all platforms are fbsd_amd64 ,
   on intel "skylake" "i3/5/7" cpus
   [ coming_soon , "rocket_lake" , thanks to "avx_512" ] ,
   with "z170" chip_sets , on "atx"_format moboes ,
   in "mid_tower"_sized cases , except as noted .



context
-------

one specific thing which i liked about fbsd ,
   when i discovered it about 20 years ago
   [ 3.5.1 , 4.2 ; after using 4bsd on vaxen in grad_school ] ,
   compared to the ms_platform , which it replaced , was that
   hard_disk_drives were identified by the mobo_socket ,
   to which they were attached ,
   rather than by some probe_order
   [ anyone remember "drive_letter shifting" ? ] .

as i recall , this characteristic remained through my 9.3 boxen .
on my 10.3 boxen , "/dev/ada[0-5]" entries appeared ,
   along with "/dev/ad[0-5]" sym_links to these entries .
of these two styles , both were valid in "/etc/fstab" ;
   so , i continued to use the "/dev/ad[0-5]" style .

very recently , i have been converting to 11.4 , for regular use ,
   and , soon , i will build a 12.2 box , for testing .
i choose to rely upon the last minor_number , for each major_number ,
   until the next major acquires its last minor [ 12.4 ? ] .
exceptions to this policy are rare
   [ simply , i never "got_around_to" 10.4 ] .

on my initial 11.4 box ,
   i observed that the "/dev/ad[0-5]" style no_longer appeared .
this did_not concern me , until
   i installed , later , an additional hdd .

-- sha_ZAM !!! --   [ thank you , "captain marvel" ] .

fbsd has , now , that ms_platform "feature" ,
   which is known , affectionately , as "drive_letter shifting" .

i was perplexed ; for a_while , i ruminated .

then , i examined "/var/run/dmesg.boot" ,
   in which i found these selected entries [ there are 6 sockets ] :

      cd0 at ahcich0 ...    [ on mobo_sata_socket_1 ] ,
     ada0 at ahcich1 ...    [ on mobo_sata_socket_2 ] ,
     ada1 at ahcich2 ...    [ on mobo_sata_socket_3 ] ,
     ada2 at ahcich4 ...    [ on mobo_sata_socket_5 ] ,
     ada3 at ahcich5 ...    [ on mobo_sata_socket_6 ] .

the partition "/dev/ada0p3" is mounted at "/" .

for cable_management reasons , i prefer to use the nearest socket .



research
--------

it is remarkable how_much one can learn from the fbsd_handbook ,
   the "man"_pages and "that inter_web thing"
   [ this is why i have not posted a question , in quite some time ] .
so , i began to read .

alas , i have found nothing , so_far ,
   which addresses , directly , this concept .
i --have-- found some_thing about "hdd_labelling" ;
   how_ever , none of my --numerous-- drives are "labelled" ,
   including those from foreign platforms ;
   thus , this does not help .
i have enough trouble inventing unique identifiers in my code ;
   they change over time , almost in_variably .

also , i found some_thing about
   combining the "ata"_driver with the "scsi"_driver
   [ aha ! ; a potential explanation ] .
i have never used scsi drives , for three reasons :
   a]  i do not run a "server_farm" , requiring higher reliability ;
   b]  they are more expensive [ i maintain many back_ups ] and
   c]  their identification depends upon their location along a cable
         [ like "pata" ] .



question
--------

from the boot_messages [ above ] ,
   i know that the mobo_socket is known , at some point , during boot .

is there a way to identify a sata_hdd , by its mobo_socket ,
   in a manner which will satisfy "/etc/fstab" ?



in advance , regarding this matter , i thank every_one for
   their suggestions , complaints and great_thoughts and i remain

very sincerely yours ,

rob