@@ -381,38 +381,66 @@ enum SmbiosSerialNumber {
381
381
RamSlot2 ,
382
382
Ssd ,
383
383
AudioFfc ,
384
+
385
+ Heatsink ,
386
+ Fan ,
387
+ Chassis ,
388
+ LeftPanel ,
389
+ RightPanel ,
390
+ FrontPanel ,
391
+ PowerSupply ,
384
392
}
385
393
386
394
pub fn dump_oem_strings ( strings : & SMBiosStringSet ) {
387
395
for ( i, s) in strings. into_iter ( ) . enumerate ( ) {
388
396
let idx = i + 1 ;
389
- let sn = match idx {
390
- 1 => Some ( SmbiosSerialNumber :: Mainboard ) ,
391
- 2 => Some ( SmbiosSerialNumber :: Laptop ) ,
392
- 3 => Some ( SmbiosSerialNumber :: Camera ) ,
393
- 4 => Some ( SmbiosSerialNumber :: Display ) ,
394
- 5 => Some ( SmbiosSerialNumber :: Battery ) ,
395
- 6 => Some ( SmbiosSerialNumber :: Touchpad ) ,
396
- 7 => Some ( SmbiosSerialNumber :: Keyboard ) ,
397
- 8 => Some ( SmbiosSerialNumber :: Fingerprint ) ,
398
- 10 => Some ( SmbiosSerialNumber :: AudioDaughtercard ) ,
399
- 11 => Some ( SmbiosSerialNumber :: ACover ) ,
400
- 12 => Some ( SmbiosSerialNumber :: BCover ) ,
401
- 13 => Some ( SmbiosSerialNumber :: CCover ) ,
402
- 14 => Some ( SmbiosSerialNumber :: AntennaMain ) ,
403
- 15 => Some ( SmbiosSerialNumber :: AntennaAux ) ,
404
- 16 => Some ( SmbiosSerialNumber :: TouchpadFpc ) ,
405
- 17 => Some ( SmbiosSerialNumber :: FingerprintFfc ) ,
406
- 18 => Some ( SmbiosSerialNumber :: EdpCable ) ,
407
- 19 => Some ( SmbiosSerialNumber :: LcdCable ) ,
408
- 20 => Some ( SmbiosSerialNumber :: ThermalAssembly ) ,
409
- 21 => Some ( SmbiosSerialNumber :: WifiModule ) ,
410
- 22 => Some ( SmbiosSerialNumber :: Speaker ) ,
411
- 23 => Some ( SmbiosSerialNumber :: RamSlot1 ) ,
412
- 24 => Some ( SmbiosSerialNumber :: RamSlot2 ) ,
413
- 25 => Some ( SmbiosSerialNumber :: Ssd ) ,
414
- 26 => Some ( SmbiosSerialNumber :: AudioFfc ) ,
415
- _ => None ,
397
+ let sn = if get_family ( ) == Some ( PlatformFamily :: FrameworkDesktop ) {
398
+ match idx {
399
+ 1 => Some ( SmbiosSerialNumber :: Mainboard ) ,
400
+ 2 => Some ( SmbiosSerialNumber :: Heatsink ) ,
401
+ 3 => Some ( SmbiosSerialNumber :: Fan ) ,
402
+ 4 => Some ( SmbiosSerialNumber :: Chassis ) ,
403
+ 5 => Some ( SmbiosSerialNumber :: AntennaMain ) ,
404
+ 6 => Some ( SmbiosSerialNumber :: WifiModule ) ,
405
+ 7 => Some ( SmbiosSerialNumber :: LeftPanel ) ,
406
+ 8 => Some ( SmbiosSerialNumber :: RightPanel ) ,
407
+ 9 => Some ( SmbiosSerialNumber :: FrontPanel ) ,
408
+ 10 => Some ( SmbiosSerialNumber :: PowerSupply ) ,
409
+ 11 => Some ( SmbiosSerialNumber :: RamSlot1 ) ,
410
+ 12 => Some ( SmbiosSerialNumber :: RamSlot2 ) ,
411
+ 13 => Some ( SmbiosSerialNumber :: Ssd ) ,
412
+ 14 => Some ( SmbiosSerialNumber :: AudioFfc ) ,
413
+ _ => None ,
414
+ }
415
+ } else {
416
+ match idx {
417
+ 1 => Some ( SmbiosSerialNumber :: Mainboard ) ,
418
+ 2 => Some ( SmbiosSerialNumber :: Laptop ) ,
419
+ 3 => Some ( SmbiosSerialNumber :: Camera ) ,
420
+ 4 => Some ( SmbiosSerialNumber :: Display ) ,
421
+ 5 => Some ( SmbiosSerialNumber :: Battery ) ,
422
+ 6 => Some ( SmbiosSerialNumber :: Touchpad ) ,
423
+ 7 => Some ( SmbiosSerialNumber :: Keyboard ) ,
424
+ 8 => Some ( SmbiosSerialNumber :: Fingerprint ) ,
425
+ 10 => Some ( SmbiosSerialNumber :: AudioDaughtercard ) ,
426
+ 11 => Some ( SmbiosSerialNumber :: ACover ) ,
427
+ 12 => Some ( SmbiosSerialNumber :: BCover ) ,
428
+ 13 => Some ( SmbiosSerialNumber :: CCover ) ,
429
+ 14 => Some ( SmbiosSerialNumber :: AntennaMain ) ,
430
+ 15 => Some ( SmbiosSerialNumber :: AntennaAux ) ,
431
+ 16 => Some ( SmbiosSerialNumber :: TouchpadFpc ) ,
432
+ 17 => Some ( SmbiosSerialNumber :: FingerprintFfc ) ,
433
+ 18 => Some ( SmbiosSerialNumber :: EdpCable ) ,
434
+ 19 => Some ( SmbiosSerialNumber :: LcdCable ) ,
435
+ 20 => Some ( SmbiosSerialNumber :: ThermalAssembly ) ,
436
+ 21 => Some ( SmbiosSerialNumber :: WifiModule ) ,
437
+ 22 => Some ( SmbiosSerialNumber :: Speaker ) ,
438
+ 23 => Some ( SmbiosSerialNumber :: RamSlot1 ) ,
439
+ 24 => Some ( SmbiosSerialNumber :: RamSlot2 ) ,
440
+ 25 => Some ( SmbiosSerialNumber :: Ssd ) ,
441
+ 26 => Some ( SmbiosSerialNumber :: AudioFfc ) ,
442
+ _ => None ,
443
+ }
416
444
} ;
417
445
match sn {
418
446
Some ( SmbiosSerialNumber :: RamSlot1 )
0 commit comments