last vendor bug fixes

This commit is contained in:
Harald Hope 2022-05-19 16:25:06 -07:00
parent 87bc34da8b
commit 2934175b34

74
inxi
View file

@ -12795,44 +12795,46 @@ sub set_vendors {
['(Crucial|^(C[34]00$|(C300-)?CTF|(FC)?CT|DDAC|M4(\b|SSD))|-CT|Gizmo!)','Crucial','Crucial',''], ['(Crucial|^(C[34]00$|(C300-)?CTF|(FC)?CT|DDAC|M4(\b|SSD))|-CT|Gizmo!)','Crucial','Crucial',''],
# H10 HBRPEKNX0202A NVMe INTEL 512GB # H10 HBRPEKNX0202A NVMe INTEL 512GB
['(\bINTEL\b|^(SSD(PAM|SA2)|HBR|(MEM|SSD)PEB?K|SSD(MCE|S[AC])))','\bINTEL\b','Intel',''], ['(\bINTEL\b|^(SSD(PAM|SA2)|HBR|(MEM|SSD)PEB?K|SSD(MCE|S[AC])))','\bINTEL\b','Intel',''],
# note: S[AV][1-9][0-9] can trigger false positives # note: S[AV][1-9]\d can trigger false positives
['(K(ING)?STON|^(OM8P|RBU|S[AV][1234]00|S[HMN]S|SK[CY]|SQ5|SS200|SVP|SS0|SUV|SNV|T52|T[AB]29|Ultimate CF)|DataTraveler|DT\s?(DUO|Microduo|101)|HyperX|13fe\b)','(KINGSTON|13fe)','Kingston',''], # maybe SHS: SHSS37A SKC SUV ['(K(ING)?STON|^(OM8P|RBU|S[AV][1234]00|S[HMN]S|SK[CY]|SQ5|SS200|SVP|SS0|SUV|SNV|T52|T[AB]29|Ultimate CF)|DataTraveler|DT\s?(DUO|Microduo|101)|HyperX|13fe\b)','(KINGSTON|13fe)','Kingston',''], # maybe SHS: SHSS37A SKC SUV
# must come before samsung MU. NOTE: toshiba can have: TOSHIBA_MK6475GSX: mush: MKNSSDCR120GB_ # must come before samsung MU. NOTE: toshiba can have: TOSHIBA_MK6475GSX: mush: MKNSSDCR120GB_
['(^MKN|Mushkin)','Mushkin','Mushkin',''], # MKNS ['(^MKN|Mushkin)','Mushkin','Mushkin',''], # MKNS
# MU = Multiple_Flash_Reader too risky: |M[UZ][^L] HD103SI HD start risky # MU = Multiple_Flash_Reader too risky: |M[UZ][^L] HD103SI HD start risky
# HM320II HM320II HM # HM320II HM320II HM
['(SAMSUNG|^(AWMB|[BC]DS20|[BC]WB|BJ[NT]|CJN|CUT|[DG]3 Station|DUO\b|DUT|CKT|[GS]2 Portable|GN|HD[0-9]{3}[A-Z]{2}$|(HM|SP)[0-9]{2}|HS\d|M[AB]G[0-9][FG]|MCC|MCBOE|MCG[0-9]+GC|[CD]JN|MZ|^G[CD][1-9][QS]|P[BM]\d|(SSD\s?)?SM\s?841)|^SSD\s?[89]\d{2}\s(DCT|PRO|QVD|\d+[GT]B)|\bEVO\b|SV[0-9]|[BE][A-Z][1-9]QT|YP\b|[CH]N-M|MMC[QR]E)','SAMSUNG','Samsung',''], # maybe ^SM, ^HM ['(SAMSUNG|^(AWMB|[BC]DS20|[BC]WB|BJ[NT]|CJN|CUT|[DG]3 Station|DUO\b|DUT|CKT|[GS]2 Portable|GN|HD\d{3}[A-Z]{2}$|(HM|SP)\d{2}|HS\d|M[AB]G\d[FG]|MCC|MCBOE|MCG\d+GC|[CD]JN|MZ|^G[CD][1-9][QS]|P[BM]\d|(SSD\s?)?SM\s?841)|^SSD\s?[89]\d{2}\s(DCT|PRO|QVD|\d+[GT]B)|\bEVO\b|SV\d|[BE][A-Z][1-9]QT|YP\b|[CH]N-M|MMC[QR]E)','SAMSUNG','Samsung',''], # maybe ^SM, ^HM
# Android UMS Composite?U1 # Android UMS Composite?U1
['(SanDisk|^(ABLCD|AFGCE|D[AB]4|DX[1-9]|Extreme|Firebird|S[CD][0-9]{2}G|SD(S[S]?[ADQ]|SDW[1-9]|SEM[1-9]|SL([0-9]+)G|SU[0-9]|U(3\b|1\d0))|\d[STU])|ULTRA\s(FIT|trek|II)|Clip Sport|Cruzer|iXpand|SSD (Plus|U1[01]0) [1-9]|0781|X[1-6]\d{2})','(SanDisk|0781)','SanDisk',''], ['(SanDisk|^(ABLCD|AFGCE|D[AB]4|DX[1-9]|Extreme|Firebird|S[CD]\d{2}G|SD(S[S]?[ADQ]|SDW[1-9]|SEM[1-9]|SL(\d+)G|SU\d|U(3\b|1\d0))|\d[STU])|ULTRA\s(FIT|trek|II)|Clip Sport|Cruzer|iXpand|SSD (Plus|U1[01]0) [1-9]|0781|X[1-6]\d{2})','(SanDisk|0781)','SanDisk',''],
# these are HP/Sandisk cobranded. DX110064A5xnNMRI ids as HP and Sandisc # these are HP/Sandisk cobranded. DX110064A5xnNMRI ids as HP and Sandisc
['(^DX[1-9])','^(HP\b|SANDDISK)','Sandisk/HP',''], # ssd drive, must come before seagate ST test ['(^DX[1-9])','^(HP\b|SANDDISK)','Sandisk/HP',''], # ssd drive, must come before seagate ST test
# must come before seagate because of ^STM
# not used: TM[0-9]{4}|[KL]0[1-9]|Y[0-9]{3}[A-Z]|4[DR]\d|3H\d|2F\d|7L\dL(250|500)|F[0-9]{3}L|6[2[B\d|BEGKLNVY]\d
['^(MAXTOR|Atlas|STM[0-9])','^MAXTOR','Maxtor',''], # note M2 M3 is usually maxtor, but can be samsung
# real, SSEAGATE Backup+; XP1600HE30002 | 024 HN (spinpoint) ; possible usb: 24AS # real, SSEAGATE Backup+; XP1600HE30002 | 024 HN (spinpoint) ; possible usb: 24AS
# ST[numbers] excludes other ST starting devices # ST[numbers] excludes other ST starting devices
['([S]?SEAGATE|^(^(Barra|Fire)Cuda|BUP|Expansion|(ATA\s|HDD\s)?ST[0-9]{2}|5AS|X[AFP])|Expansion Desk|FreeAgent|GoFlex|Backup(\+|\s?Plus)\s?(Hub)?|OneTouch|Slim\s?BK)','[S]?SEAGATE','Seagate',''], ['([S]?SEAGATE|^(^(Barra|Fire)Cuda|BUP|Expansion|(ATA\s|HDD\s)?ST\d{2}|5AS|X[AFP])|Expansion Desk|FreeAgent|GoFlex|Backup(\+|\s?Plus)\s?(Hub)?|OneTouch|Slim\s?BK)','[S]?SEAGATE','Seagate',''],
['^(WD|WL[0]9]|Western Digital|My (Book|Passport)|\d*LPCX|Elements|easystore|MD0|M000|EARX|EFRX|\d*EAVS|0JD|JP[CV]|[0-9]+(BEV|(00)?AAK|AAV|AZL|EA[CD]S)|PC\sSN|3200[AB]|2500[BJ]|EA[A-Z]S|20G2|5000[AB]|6400[AB]|7500[AB]|i HTS|00[ABL][A-Z]{2}|EZRX|SSC\b)','(^WDC|Western\s?Digital)','Western Digital',''], ['^(WD|WL[0]9]|Western Digital|My (Book|Passport)|\d*LPCX|Elements|easystore|MD0|M000|EARX|EFRX|\d*EAVS|0JD|JP[CV]|\d+(BEV|(00)?AAK|AAV|AZL|EA[CD]S)|PC\sSN|3200[AB]|2500[BJ]|EA[A-Z]S|20G2|5000[AB]|6400[AB]|7500[AB]|i HTS|00[ABL][A-Z]{2}|EZRX|SSC\b)','(^WDC|Western\s?Digital)','Western Digital',''],
# rare cases WDC is in middle of string # rare cases WDC is in middle of string
['(\bWDC\b|1002FAEX)','','Western Digital',''], ['(\bWDC\b|1002FAEX)','','Western Digital',''],
## THEN BETTER KNOWN ONESs ## ## THEN BETTER KNOWN ONESs ##
['^Acer','^Acer','Acer',''], ['^Acer','^Acer','Acer',''],
# A-Data can be in middle of string # A-Data can be in middle of string
['^(.*\bA-?DATA|ASP[0-9]|AX[MN]|CH11|HV[1-9]|IM2|HD[1-9]|HDD\s?CH|IUM|SX\d|Swordfish)','A-?DATA','A-Data',''], ['^(.*\bA-?DATA|ASP\d|AX[MN]|CH11|HV[1-9]|IM2|HD[1-9]|HDD\s?CH|IUM|SX\d|Swordfish)','A-?DATA','A-Data',''],
['^(ASUS|ROG)','^ASUS','ASUS',''], # ROG ESD-S1C ['^(ASUS|ROG)','^ASUS','ASUS',''], # ROG ESD-S1C
# ATCS05 can be hitachi travelstar but not sure # ATCS05 can be hitachi travelstar but not sure
['^ATP','^ATP\b','ATP',''], ['^ATP','^ATP\b','ATP',''],
# Force MP500 # Force MP500
['^(Corsair|Force\s|(Flash\s*)?(Survivor|Voyager)|Neutron|Padlock)','^Corsair','Corsair',''], ['^(Corsair|Force\s|(Flash\s*)?(Survivor|Voyager)|Neutron|Padlock)','^Corsair','Corsair',''],
['^(FUJITSU|MJA|MH[TVWYZ][0-9]|MP|MAP[0-9]|F\d00s?-)','^FUJITSU','Fujitsu',''], ['^(FUJITSU|MJA|MH[TVWYZ]\d|MP|MAP\d|F\d00s?-)','^FUJITSU','Fujitsu',''],
# MAB3045SP shows as HP or Fujitsu, probably HP branded fujitsu # MAB3045SP shows as HP or Fujitsu, probably HP branded fujitsu
['^(MAB[0-9])','^(HP\b|FUJITSU)','Fujitsu/HP',''], ['^(MAB\d)','^(HP\b|FUJITSU)','Fujitsu/HP',''],
# note: 2012: wdc bought hgst # note: 2012: wdc bought hgst
['^(HGST|Touro|54[15]0|7250|HC[CT]\d)','^HGST','HGST (Hitachi)',''], # HGST HUA ['^(HGST|Touro|54[15]0|7250|HC[CT]\d)','^HGST','HGST (Hitachi)',''], # HGST HUA
['^((ATA\s)?Hitachi|HCS|HD[PST]|DK[0-9]|IC|(HDD\s)?HT|HU|HMS|HDE|0G[0-9]|IHAT)','Hitachi','Hitachi',''], ['^((ATA\s)?Hitachi|HCS|HD[PST]|DK\d|IC|(HDD\s)?HT|HU|HMS|HDE|0G\d|IHAT)','Hitachi','Hitachi',''],
# vb: VB0250EAVER but clashes with vbox; HP_SSD_S700_120G ;GB0500EAFYL GB starter too generic? # vb: VB0250EAVER but clashes with vbox; HP_SSD_S700_120G ;GB0500EAFYL GB starter too generic?
['^(HP\b|[MV]B[0-6]|G[BJ][0-9]|DF[0-9]|F[BK]|0-9]|MM\d{4}|PSS|XR[0-9]{4}|c350|v[0-9]{3}[bgorw]$|x[0-9]{3}[w]$|VK0|HC[CPY]\d|EX9\d\d)','^HP','HP',''], ['^(HP\b|[MV]B[0-6]|G[BJ]\d|DF\d|F[BK]|0-9]|MM\d{4}|PSS|XR\d{4}|c350|v\d{3}[bgorw]$|x\d{3}[w]$|VK0|HC[CPY]\d|EX9\d\d)','^HP','HP',''],
['^(Lexar|LSD|JumpDrive|JD\s?Firefly|LX[0-9]|WorkFlow)','^Lexar','Lexar',''], # mmc-LEXAR_0xb016546c; JD Firefly; ['^(Lexar|LSD|JumpDrive|JD\s?Firefly|LX\d|WorkFlow)','^Lexar','Lexar',''], # mmc-LEXAR_0xb016546c; JD Firefly;
# these must come before maxtor because STM
['^STmagic','^STmagic','STmagic',''],
['^(STMicro|SMI|CBA)','^(STMicroelectronics|SMI)','SMI (STMicroelectronics)',''],
# note M2 M3 is usually maxtor, but can be samsung: can conflict with Team: TM\d{4}|
['^(MAXTOR|Atlas|L(250|500)|[KL]0[1-9]|Y\d{3}[A-Z]|STM\d|F\d{3}L)','^MAXTOR','Maxtor',''],
# OCZSSD2-2VTXE120G is OCZ-VERTEX2_3.5 # OCZSSD2-2VTXE120G is OCZ-VERTEX2_3.5
['^(OCZ|Agility|APOC|D2|DEN|DEN|DRSAK|EC188|FTNC|GFGC|MANG|MMOC|NIMC|NIMR|PSIR|RALLY2|TALOS2|TMSC|TRSAK|VERTEX|Trion|Onyx|Vector[\s-]?15)','^OCZ[\s-]','OCZ',''], ['^(OCZ|Agility|APOC|D2|DEN|DEN|DRSAK|EC188|FTNC|GFGC|MANG|MMOC|NIMC|NIMR|PSIR|RALLY2|TALOS2|TMSC|TRSAK|VERTEX|Trion|Onyx|Vector[\s-]?15)','^OCZ[\s-]','OCZ',''],
['^(OWC|Aura|Mercury[\s-]?(Electra|Extreme))','^OWC\b','OWC',''], ['^(OWC|Aura|Mercury[\s-]?(Electra|Extreme))','^OWC\b','OWC',''],
@ -12841,15 +12843,15 @@ sub set_vendors {
['^(PNY|Hook\s?Attache|SSD2SC|(SSD7?)?EP7|CS\d{3}|Elite\s?P)','^PNY\s','PNY','','^PNY'], ['^(PNY|Hook\s?Attache|SSD2SC|(SSD7?)?EP7|CS\d{3}|Elite\s?P)','^PNY\s','PNY','','^PNY'],
# note: get rid of: M[DGK] becasue mushkin starts with MK # note: get rid of: M[DGK] becasue mushkin starts with MK
# note: seen: KXG50ZNV512G NVMe TOSHIBA 512GB | THNSN51T02DUK NVMe TOSHIBA 1024GB # note: seen: KXG50ZNV512G NVMe TOSHIBA 512GB | THNSN51T02DUK NVMe TOSHIBA 1024GB
['(^[S]?TOS|^THN|TOSHIBA|TransMemory|^M[GKQ][0-9]|KBG4|^HDW|^SA[0-9]{2}G$|^(008|016|032|064|128)G[379E][0-9A]$|0930|KSG\d)','S?(TOSHIBA|0930)','Toshiba',''], # scsi-STOSHIBA_STOR.E_EDITION_ ['(^[S]?TOS|^THN|TOSHIBA|TransMemory|^M[GKQ]\d|KBG4|^HDW|^SA\d{2}G$|^(008|016|032|064|128)G[379E][0-9A]$|0930|KSG\d)','S?(TOSHIBA|0930)','Toshiba',''], # scsi-STOSHIBA_STOR.E_EDITION_
## LAST: THEY ARE SHORT AND COULD LEAD TO FALSE ID, OR ARE UNLIKELY ## ## LAST: THEY ARE SHORT AND COULD LEAD TO FALSE ID, OR ARE UNLIKELY ##
# unknown: AL25744_12345678; ADP may be usb 2.5" adapter; udisk unknown: Z1E6FTKJ 00AAKS # unknown: AL25744_12345678; ADP may be usb 2.5" adapter; udisk unknown: Z1E6FTKJ 00AAKS
# SSD2SC240G726A10 MRS020A128GTS25C EHSAJM0016GB # SSD2SC240G726A10 MRS020A128GTS25C EHSAJM0016GB
['^2[\s-]?Power','^2[\s-]?Power','2-Power',''], ['^2[\s-]?Power','^2[\s-]?Power','2-Power',''],
['^(3ware|9650SE)','^3ware','3ware (controller)',''], ['^(3ware|9650SE)','^3ware','3ware (controller)',''],
['^5ACE','^5ACE','5ACE',''], # could be seagate: ST316021 5ACE ['^5ACE','^5ACE','5ACE',''], # could be seagate: ST316021 5ACE
['^(Aar(vex)?|AX[0-9]{2})','^AARVEX','AARVEX',''], ['^(Aar(vex)?|AX\d{2})','^AARVEX','AARVEX',''],
['^(AbonMax|ASU[0-9])','^AbonMax','AbonMax',''], ['^(AbonMax|ASU\d)','^AbonMax','AbonMax',''],
['^Acasis','^Acasis','Acasis (hub)',''], ['^Acasis','^Acasis','Acasis (hub)',''],
['^Acclamator','^Acclamator','Acclamator',''], ['^Acclamator','^Acclamator','Acclamator',''],
['^(Actions|HS USB Flash|10d6)','^(Actions|10d6)','Actions',''], ['^(Actions|HS USB Flash|10d6)','^(Actions|10d6)','Actions',''],
@ -12880,7 +12882,7 @@ sub set_vendors {
['^ASolid','^ASolid','ASolid',''], ['^ASolid','^ASolid','ASolid',''],
['^(AVEXIR|AVSSD)','^AVEXIR','Avexir',''], ['^(AVEXIR|AVSSD)','^AVEXIR','Avexir',''],
['^Axiom','^Axiom','Axiom',''], ['^Axiom','^Axiom','Axiom',''],
['^(Baititon|BT[0-9])','^Baititon','Baititon',''], ['^(Baititon|BT\d)','^Baititon','Baititon',''],
['^Bamba','^Bamba','Bamba',''], ['^Bamba','^Bamba','Bamba',''],
['^(Beckhoff)','^Beckhoff','Beckhoff',''], ['^(Beckhoff)','^Beckhoff','Beckhoff',''],
['^Bell\b','^Bell','Packard Bell',''], ['^Bell\b','^Bell','Packard Bell',''],
@ -12891,13 +12893,12 @@ sub set_vendors {
['^BIWIN','^BIWIN','BIWIN',''], ['^BIWIN','^BIWIN','BIWIN',''],
['^Blackpcs','^Blackpcs','Blackpcs',''], ['^Blackpcs','^Blackpcs','Blackpcs',''],
['^(BlitzWolf|BW-?PSSD)','^BlitzWolf','BlitzWolf',''], ['^(BlitzWolf|BW-?PSSD)','^BlitzWolf','BlitzWolf',''],
['^(BlueRay|SDM[0-9])','^BlueRay','BlueRay',''], ['^(BlueRay|SDM\d)','^BlueRay','BlueRay',''],
['^Bory','^Bory','Bory',''], ['^Bory','^Bory','Bory',''],
['^Braveeagle','^Braveeagle','BraveEagle',''], ['^Braveeagle','^Braveeagle','BraveEagle',''],
['^(BUFFALO|BSC)','^BUFFALO','Buffalo',''], # usb: BSCR05TU2 ['^(BUFFALO|BSC)','^BUFFALO','Buffalo',''], # usb: BSCR05TU2
['^Bulldozer','^Bulldozer','Bulldozer',''], ['^Bulldozer','^Bulldozer','Bulldozer',''],
['^BUSlink','^BUSlink','BUSlink',''], ['^BUSlink','^BUSlink','BUSlink',''],
['^(STMicro|SMI|CBA)','^(STMicroelectronics|SMI)','SMI (STMicroelectronics)',''],
['^(Canon|MP49)','^Canon','Canon',''], ['^(Canon|MP49)','^Canon','Canon',''],
['^Centerm','^Centerm','Centerm',''], ['^Centerm','^Centerm','Centerm',''],
['^(Centon|DS pro)','^Centon','Centon',''], ['^(Centon|DS pro)','^Centon','Centon',''],
@ -13027,7 +13028,7 @@ sub set_vendors {
['^(lntenso|Intenso|(Alu|Basic|Business|Micro|c?Mobile|Premium|Rainbow|Slim|Speed|Twister|Ultra) Line|Rainbow)','^Intenso','Intenso',''], ['^(lntenso|Intenso|(Alu|Basic|Business|Micro|c?Mobile|Premium|Rainbow|Slim|Speed|Twister|Ultra) Line|Rainbow)','^Intenso','Intenso',''],
['^(I-?O Data|HDCL)','^I-?O Data','I-O Data',''], ['^(I-?O Data|HDCL)','^I-?O Data','I-O Data',''],
['^(INO-|i\.?norys)','^i\.?norys','i.norys',''], ['^(INO-|i\.?norys)','^i\.?norys','i.norys',''],
['^(Integrated[\s-]?Technology|IT[0-9]+)','^Integrated[\s-]?Technology','Integrated Technology',''], ['^(Integrated[\s-]?Technology|IT\d+)','^Integrated[\s-]?Technology','Integrated Technology',''],
['^(Iomega|ZIP\b|Clik!)','^Iomega','Iomega',''], ['^(Iomega|ZIP\b|Clik!)','^Iomega','Iomega',''],
['^ISOCOM','^ISOCOM','ISOCOM (Shenzhen Longsys Electronics)',''], ['^ISOCOM','^ISOCOM','ISOCOM (Shenzhen Longsys Electronics)',''],
['^(Jaster|JS\d)','^Jaster','Jaster',''], ['^(Jaster|JS\d)','^Jaster','Jaster',''],
@ -13046,12 +13047,12 @@ sub set_vendors {
['^Kingrich','^Kingrich','Kingrich',''], ['^Kingrich','^Kingrich','Kingrich',''],
['^Kingsand','^Kingsand','Kingsand',''], ['^Kingsand','^Kingsand','Kingsand',''],
['KING\s?SHA\s?RE','KING\s?SHA\s?RE','KingShare',''], ['KING\s?SHA\s?RE','KING\s?SHA\s?RE','KingShare',''],
['^(KingSpec|ACSC|KS[DQ]|N[ET]-[0-9]|P3$|P4\b|PA[_-]?(18|25)|Q-180|T-(3260|64|128)|Z(\d\s|F\d))','^KingSpec','KingSpec',''], ['^(KingSpec|ACSC|KS[DQ]|N[ET]-\d|P3$|P4\b|PA[_-]?(18|25)|Q-180|T-(3260|64|128)|Z(\d\s|F\d))','^KingSpec','KingSpec',''],
['^KingSSD','^KingSSD','KingSSD',''], ['^KingSSD','^KingSSD','KingSSD',''],
# kingwin docking, not actual drive # kingwin docking, not actual drive
['^(EZD|EZ-Dock)','','Kingwin Docking Station',''], ['^(EZD|EZ-Dock)','','Kingwin Docking Station',''],
['^Kingwin','^Kingwin','Kingwin',''], ['^Kingwin','^Kingwin','Kingwin',''],
['(KIOXIA|^K[BX]G[0-9])','KIOXIA','KIOXIA',''], # company name comes after product ID ['(KIOXIA|^K[BX]G\d)','KIOXIA','KIOXIA',''], # company name comes after product ID
['^(KLEVV|NEO\sN|CRAS)','^KLEVV','KLEVV',''], ['^(KLEVV|NEO\sN|CRAS)','^KLEVV','KLEVV',''],
['^Kodak','^Kodak','Kodak',''], ['^Kodak','^Kodak','Kodak',''],
['^(KUAIKAI|MSAM)','^KUAIKAI','KuaKai',''], ['^(KUAIKAI|MSAM)','^KUAIKAI','KuaKai',''],
@ -13081,14 +13082,14 @@ sub set_vendors {
['^Maximus','^Maximus','Maximus',''], ['^Maximus','^Maximus','Maximus',''],
['^Maxone','^Maxone','Maxone',''], ['^Maxone','^Maxone','Maxone',''],
['^(Memorex|TravelDrive|TD\s?Classic)','^Memorex','Memorex',''], ['^(Memorex|TravelDrive|TD\s?Classic)','^Memorex','Memorex',''],
['^(MARSHAL\b|MAL[0-9])','^MARSHAL','Marshal',''], ['^(MARSHAL\b|MAL\d)','^MARSHAL','Marshal',''],
['^MARVELL','^MARVELL','Marvell',''], ['^MARVELL','^MARVELL','Marvell',''],
['^Maxsun','^Maxsun','Maxsun',''], ['^Maxsun','^Maxsun','Maxsun',''],
['^MDT\b','^MDT','MDT (rebuilt WD/Seagate)',''], # mdt rebuilds wd/seagate hdd ['^MDT\b','^MDT','MDT (rebuilt WD/Seagate)',''], # mdt rebuilds wd/seagate hdd
# MD1TBLSSHD, careful with this MD starter!! # MD1TBLSSHD, careful with this MD starter!!
['^MD[1-9]','^Max\s*Digital','MaxDigital',''], ['^MD[1-9]','^Max\s*Digital','MaxDigital',''],
['^Medion','^Medion','Medion',''], ['^Medion','^Medion','Medion',''],
['^(MEDIAMAX|WL[0-9]{2})','^MEDIAMAX','MediaMax',''], ['^(MEDIAMAX|WL\d{2})','^MEDIAMAX','MediaMax',''],
['^Mengmi','^Mengmi','Mengmi',''], ['^Mengmi','^Mengmi','Mengmi',''],
['^MGTEC','^MGTEC','MGTEC',''], ['^MGTEC','^MGTEC','MGTEC',''],
# must come before micron # must come before micron
@ -13107,8 +13108,8 @@ sub set_vendors {
['^(Monster\s)+(Digital)?|OD[\s-]?ADVANCE','^(Monster\s)+(Digital)?','Monster Digital',''], ['^(Monster\s)+(Digital)?|OD[\s-]?ADVANCE','^(Monster\s)+(Digital)?','Monster Digital',''],
['^Morebeck','^Morebeck','Morebeck',''], ['^Morebeck','^Morebeck','Morebeck',''],
['^(Moser\s?Bear|MBIL)','^Moser\s?Bear','Moser Bear',''], ['^(Moser\s?Bear|MBIL)','^Moser\s?Bear','Moser Bear',''],
['^(Motile|SSM[0-9])','^Motile','Motile',''], ['^(Motile|SSM\d)','^Motile','Motile',''],
['^(Motorola|XT[0-9]{4})','^Motorola','Motorola',''], ['^(Motorola|XT\d{4})','^Motorola','Motorola',''],
['^Moweek','^Moweek','Moweek',''], ['^Moweek','^Moweek','Moweek',''],
#MRMAD4B128GC9M2C #MRMAD4B128GC9M2C
['^(MRMA|Memoright)','^Memoright','Memoright',''], ['^(MRMA|Memoright)','^Memoright','Memoright',''],
@ -13116,7 +13117,7 @@ sub set_vendors {
['^MTASE','^MTASE','MTASE',''], ['^MTASE','^MTASE','MTASE',''],
['^MTRON','^MTRON','MTRON',''], ['^MTRON','^MTRON','MTRON',''],
['^(MyDigitalSSD|BP4)','^MyDigitalSSD','MyDigitalSSD',''], # BP4 = BulletProof4 ['^(MyDigitalSSD|BP4)','^MyDigitalSSD','MyDigitalSSD',''], # BP4 = BulletProof4
['^(Neo\s*Forza|NFS[0-9])','^Neo\s*Forza','Neo Forza',''], ['^(Neo\s*Forza|NFS\d)','^Neo\s*Forza','Neo Forza',''],
['^(Netac|S535N)','^Netac','Netac',''], ['^(Netac|S535N)','^Netac','Netac',''],
# NGFF is a type, like msata, sata # NGFF is a type, like msata, sata
['^Nik','^Nikimi','Nikimi',''], ['^Nik','^Nikimi','Nikimi',''],
@ -13132,7 +13133,7 @@ sub set_vendors {
['^(Pasoul|OASD)','^Pasoul','Pasoul',''], ['^(Pasoul|OASD)','^Pasoul','Pasoul',''],
['^(Patriot|PS[8F]|P2\d{2}|PBT|VPN|Viper|Burst|Blast|Blaze|Pyro|Ignite)','^Patriot([-\s]?Memory)?','Patriot',''],#Viper M.2 VPN100 ['^(Patriot|PS[8F]|P2\d{2}|PBT|VPN|Viper|Burst|Blast|Blaze|Pyro|Ignite)','^Patriot([-\s]?Memory)?','Patriot',''],#Viper M.2 VPN100
['^PERC\b','','Dell PowerEdge RAID Card',''], # ssd ['^PERC\b','','Dell PowerEdge RAID Card',''], # ssd
['(PHISON[\s-]?|ESR[0-9])','PHISON[\s-]?','Phison',''],# E12-256G-PHISON-SSD-B3-BB1 ['(PHISON[\s-]?|ESR\d)','PHISON[\s-]?','Phison',''],# E12-256G-PHISON-SSD-B3-BB1
['^Pioneer','Pioneer','Pioneer',''], ['^Pioneer','Pioneer','Pioneer',''],
['^Platinet','Platinet','Platinet',''], ['^Platinet','Platinet','Platinet',''],
['^(PLEXTOR|PX-)','^PLEXTOR','Plextor',''], ['^(PLEXTOR|PX-)','^PLEXTOR','Plextor',''],
@ -13141,7 +13142,7 @@ sub set_vendors {
['^(-?Pretec|UltimateGuard)','-?Pretec','Pretec',''], ['^(-?Pretec|UltimateGuard)','-?Pretec','Pretec',''],
['^(Prolific)','^Prolific( Technolgy Inc\.)?','Prolific',''], ['^(Prolific)','^Prolific( Technolgy Inc\.)?','Prolific',''],
# PS3109S9 is the result of an error condition with ssd drive # PS3109S9 is the result of an error condition with ssd drive
['QEMU','^[0-9]*QEMU( QEMU)?','QEMU',''], # 0QUEMU QEMU HARDDISK ['QEMU','^\d*QEMU( QEMU)?','QEMU',''], # 0QUEMU QEMU HARDDISK
['(^Quantum|Fireball)','^Quantum','Quantum',''], ['(^Quantum|Fireball)','^Quantum','Quantum',''],
['^QUMO','^QUMO','Qumo',''], ['^QUMO','^QUMO','Qumo',''],
['^(R[3-9]|AMD\s?(RADEON)?|Radeon)','AMD\s?(RADEON)?','AMD Radeon',''], # ssd ['^(R[3-9]|AMD\s?(RADEON)?|Radeon)','AMD\s?(RADEON)?','AMD Radeon',''], # ssd
@ -13165,14 +13166,14 @@ sub set_vendors {
['^(Sea\s?Tech|Transformer)','^Sea\s?Tech','Sea Tech',''], ['^(Sea\s?Tech|Transformer)','^Sea\s?Tech','Sea Tech',''],
['^SigmaTel','^SigmaTel','SigmaTel',''], ['^SigmaTel','^SigmaTel','SigmaTel',''],
# DIAMOND_040_GB # DIAMOND_040_GB
['^(SILICON\s?MOTION|SM[0-9]|090c)','^(SILICON\s?MOTION|090c)','Silicon Motion',''], ['^(SILICON\s?MOTION|SM\d|090c)','^(SILICON\s?MOTION|090c)','Silicon Motion',''],
['(Silicon[\s-]?Power|^SP[CP]C|^Silicon|^Diamond|^HasTopSunlightpeed)','Silicon[\s-]?Power','Silicon Power',''], ['(Silicon[\s-]?Power|^SP[CP]C|^Silicon|^Diamond|^HasTopSunlightpeed)','Silicon[\s-]?Power','Silicon Power',''],
['^SINTECHI?','^SINTECHI?','SinTech (adapter)',''], ['^SINTECHI?','^SINTECHI?','SinTech (adapter)',''],
['^SiS\b','^SiS','SiS',''], ['^SiS\b','^SiS','SiS',''],
['Smartbuy','\s?Smartbuy','Smartbuy',''], # SSD Smartbuy 60GB; mSata Smartbuy 3 ['Smartbuy','\s?Smartbuy','Smartbuy',''], # SSD Smartbuy 60GB; mSata Smartbuy 3
# HFS128G39TND-N210A; seen nvme with name in middle # HFS128G39TND-N210A; seen nvme with name in middle
['(SK\s?HYNIX|^HF[MS]|^H[BC]G|^BC\d{3}|^SC[234]\d\d\sm?SATA)','\s?SK\s?HYNIX','SK Hynix',''], ['(SK\s?HYNIX|^HF[MS]|^H[BC]G|^BC\d{3}|^SC[234]\d\d\sm?SATA)','\s?SK\s?HYNIX','SK Hynix',''],
['(hynix|^HAG[0-9]|h[BC]8aP|PC\d{3})','hynix','Hynix',''],# nvme middle of string, must be after sk hynix ['(hynix|^HAG\d|h[BC]8aP|PC\d{3})','hynix','Hynix',''],# nvme middle of string, must be after sk hynix
['^SH','','Smart Modular Tech.',''], ['^SH','','Smart Modular Tech.',''],
['^Skill','^Skill','Skill',''], ['^Skill','^Skill','Skill',''],
['^(SMART( Storage Systems)?|TX)','^(SMART( Storage Systems)?)','Smart Storage Systems',''], ['^(SMART( Storage Systems)?|TX)','^(SMART( Storage Systems)?)','Smart Storage Systems',''],
@ -13180,7 +13181,6 @@ sub set_vendors {
['^(S[FR]-|Sony|IM9)','^Sony','Sony',''], ['^(S[FR]-|Sony|IM9)','^Sony','Sony',''],
['^(SSSTC|CL1-)','^SSSTC','SSSTC',''], ['^(SSSTC|CL1-)','^SSSTC','SSSTC',''],
['^STE[CK]','^STE[CK]','sTec',''], # wd bought this one ['^STE[CK]','^STE[CK]','sTec',''], # wd bought this one
['^STmagic','^STmagic','STmagic',''],
['^STORFLY','^STORFLY','StorFly',''], ['^STORFLY','^STORFLY','StorFly',''],
['\dSUN\d','^SUN(\sMicrosystems)?','Sun Microsystems',''], ['\dSUN\d','^SUN(\sMicrosystems)?','Sun Microsystems',''],
['^Sundisk','^Sundisk','Sundisk',''], ['^Sundisk','^Sundisk','Sundisk',''],
@ -13189,7 +13189,7 @@ sub set_vendors {
['^SuperSSpeed','^SuperSSpeed','SuperSSpeed',''], ['^SuperSSpeed','^SuperSSpeed','SuperSSpeed',''],
# NOTE: F[MNETU] not reliable, g.skill starts with FM too: # NOTE: F[MNETU] not reliable, g.skill starts with FM too:
# Seagate ST skips STT. # Seagate ST skips STT.
['^(Super\s*Talent|STT|F[HTZ]M[0-9]|PicoDrive|Teranova)','','Super Talent',''], ['^(Super\s*Talent|STT|F[HTZ]M\d|PicoDrive|Teranova)','','Super Talent',''],
['^(SF|Swissbit)','^Swissbit','Swissbit',''], ['^(SF|Swissbit)','^Swissbit','Swissbit',''],
# ['^(SUPERSPEED)','^SUPERSPEED','SuperSpeed',''], # superspeed is a generic term # ['^(SUPERSPEED)','^SUPERSPEED','SuperSpeed',''], # superspeed is a generic term
['^Taisu','^Taisu','Taisu',''], ['^Taisu','^Taisu','Taisu',''],
@ -13197,7 +13197,7 @@ sub set_vendors {
['^Tammuz','^Tammuz','Tammuz',''], ['^Tammuz','^Tammuz','Tammuz',''],
['^TANDBERG','^TANDBERG','Tanberg',''], ['^TANDBERG','^TANDBERG','Tanberg',''],
['^(TC[\s-]*SUNBOW|X3\s\d+[GT])','^TC[\s-]*SUNBOW','TCSunBow',''], ['^(TC[\s-]*SUNBOW|X3\s\d+[GT])','^TC[\s-]*SUNBOW','TCSunBow',''],
['^(TDK|TF[1-9][0-9]|LoR)','^TDK','TDK',''], ['^(TDK|TF[1-9]\d|LoR)','^TDK','TDK',''],
['^TEAC','^TEAC','TEAC',''], ['^TEAC','^TEAC','TEAC',''],
['^(TEAM|T[\s-]?Create|L\d\s?Lite|T\d{3,}[A-Z]|TM\d|(Dark\s?)?L3\b)','^TEAM(\s*Group)?','TeamGroup',''], ['^(TEAM|T[\s-]?Create|L\d\s?Lite|T\d{3,}[A-Z]|TM\d|(Dark\s?)?L3\b)','^TEAM(\s*Group)?','TeamGroup',''],
['^(Teclast|CoolFlash)','^Teclast','Teclast',''], ['^(Teclast|CoolFlash)','^Teclast','Teclast',''],
@ -13215,7 +13215,7 @@ sub set_vendors {
['(^(Transcend|SSD\s|F)?TS|JetDrive|JetFlash|^USDU|^EZEX|^1307)','\b(Transcend|1307)\b','Transcend',''], ['(^(Transcend|SSD\s|F)?TS|JetDrive|JetFlash|^USDU|^EZEX|^1307)','\b(Transcend|1307)\b','Transcend',''],
['^(TrekStor|DS (maxi|pocket)|DataStation)','^TrekStor','TrekStor',''], ['^(TrekStor|DS (maxi|pocket)|DataStation)','^TrekStor','TrekStor',''],
['^Turbox','^Turbox','Turbox',''], ['^Turbox','^Turbox','Turbox',''],
['^(TwinMOS|TW[0-9])','^TwinMOS','TwinMOS',''], ['^(TwinMOS|TW\d)','^TwinMOS','TwinMOS',''],
# note: udisk means usb disk, it's not a vendor ID # note: udisk means usb disk, it's not a vendor ID
['^UDinfo','^UDinfo','UDinfo',''], ['^UDinfo','^UDinfo','UDinfo',''],
['^UMAX','^UMAX','UMAX',''], ['^UMAX','^UMAX','UMAX',''],
@ -13246,7 +13246,7 @@ sub set_vendors {
['^XPG','^XPG','XPG',''], ['^XPG','^XPG','XPG',''],
['^XrayDisk','^XrayDisk','XrayDisk',''], ['^XrayDisk','^XrayDisk','XrayDisk',''],
['^Xstar','^Xstar','Xstar',''], ['^Xstar','^Xstar','Xstar',''],
['^(XUM|HX[0-9])','^XUM','XUM',''], ['^(XUM|HX\d)','^XUM','XUM',''],
['^XUNZHE','^XUNZHE','XUNZHE',''], ['^XUNZHE','^XUNZHE','XUNZHE',''],
['^(Yangtze|ZhiTai|PC00[5-9]|SC00[1-9])','^Yangtze(\s*Memory)?','Yangtze Memory',''], ['^(Yangtze|ZhiTai|PC00[5-9]|SC00[1-9])','^Yangtze(\s*Memory)?','Yangtze Memory',''],
['^(Yeyian|valk)','^Yeyian','Yeyian',''], ['^(Yeyian|valk)','^Yeyian','Yeyian',''],