Un barebone/routeur basé sur le Celeron J1900
Il y a quelques mois, avant de partir en Irlande, il m’a fallu remplacer mon routeur Netgear WNR3500L car il ne suivait plus en terme de bande passante pour internet. Le CPU avait entres autres du mal avec les opérations de NAT. De plus j’ai commencé à également me sentir à l’étroit niveau fonctionnalités.
Cependant, mon départ étant imminent, je devais faire avec les moyens du bord. J’ai donc réemployé mon ancien PC portable du lycée (un i7-3630QM avec 8 Go de RAM) pour en faire un routeur pfSense. J’ai fait en sorte que les câbles ne risquent pas de se barrer durant ces 3 mois, puis je suis parti.
3 mois plus tard, à mon retour, je me suis décidé à partir à la recherche d’une véritable alternative pour mes besoins de routage. Les contraintes ?
- Un processeur x86 au minimum, le MIPS de mon ancien routeur n’était clairement pas suffisant,
- « Small form-factor« : quelque chose qui se rapproche de la forme d’un Intel NUC,
- Pas d’extravagance: je recherchais une machine spécifiquement adaptée à la tâche. Pas un barebone avec 50 ports HDMI et audio pour faire une Set-Top Box, mais plus quelque chose avec un port série et plus de ports Ethernet.
- Bien dimensionné: pourquoi un i7 lorsqu’un Celeron pourrait suffire à la tâche ?
Une courte recherche sur Amazon m’a donné un résultat pouvant potentiellement me plaire.
Le HAMSING Celeron J1900
…du moins c’est le nom que je lui donne, car son nom de listing est à mon goût un peu trop descriptif pour être intuitif.
Disponible donc sur Amazon à partir de 157€ (sans frais de ports), ce magnifique barebone chinois se décline notamment en 2 grandes versions: la normale et la « Plus ». La principale différence entre les 2 versions réside en la présence d’un port série et d’un slot SIM (attention pas de modem UMTS/LTE) sur la version Plus. La différence de prix est d’environ 6€.
Ce barebone se veut simple et efficace, la connectique externe est ramenée à l’essentiel:
- 4 ports Ethernet Intel Gigabit,
- 1 port d’alimentation 12V,
- 2 ports USB dont 1 USB3,
- 1 port VGA,
- 1 port console « COM ».
Ce produit m’a semblé à première vue être un très bon choix en tant que routeur pfSense. J’ai donc décidé de le commander.
Commande et livraison
Après calculs, il m’était plus rentable de prendre la version Plus à 2Go de RAM et 32 de SSD. pfSense n’occupera que peu des 32 Go de SSD, et en pratique ne consomme que 500Mo de RAM sur les 2Go (mesuré sur mon routeur actuel). Toutefois la consommation en RAM dépend essentiellement du nombre de connexions ouvertes et passant par ce dernier (la state table).
Commandé le 7 juillet, il a mis 17 jours à arriver à ma porte par UPS. Venant très clairement de Chine d’après l’emballage, il a apparemment transité par les Pays-Bas avant d’arriver à ma porte (pourquoi ?). Je précise que l’envoi n’a pas été fait par une tierce personne (donc pas Amazon, pas de livraison Prime).
Unboxing
Nous y trouvons donc dans cette fameuse boite:
- Le barebone en lui-même,
- Un transformateur 12V/4A pour l’alimentation,
- Un magnifique DVD avec pleins de fleurs,
- Un point de montage VESA (probablement pour accrocher à l’arrière d’un écran),
- Une feuille de garantie et de « qualité »,
- Pas de stylo.
Le barebone en lui-même est un petit carré 100% métallique d’un petit kilogramme. Ce boîtier métallique sert visiblement à refroidir le processeur. D’après la description, le refroidissement est 100% passif et ne fait pas de bruit. De plus, ce dernier dispose de toute la connectique précisée précédemment. La construction en elle-même semble assez solide, les ports sont droits, rien n’est tordu. On trouve aussi sur le côté ce qui semble être des trous pour d’éventuelles antennes (il n’y a pas de connecteur cependant, juste des bouchons). Attention cependant à certains bords qui semblent être assez nets pour couper !
Après quelques recherches, il s’est trouvée que la structure du boîtier est en fait assez standardisée, et que d’autres variations de ce même barebone sont également fabriquées. Seuls changent la connectique et le contenu de la carte.
Un petit mot sur le CD. Assez surprenant, ce magnifique CD à fleurs signé « Banana Digital » est en fait un bon gros DVD de 4.7Go. Les rayures à l’arrière attestent bien d’un média assez rempli. Je suis assez persuadé que ce truc renferme de très belles choses, mais je préfère le laisser de côté pour le moment. D’autant plus qu’il n’y a pas de lecteur CD dans le barebone pour le lire (si jamais il contenait des drivers).
A l’intérieur
Il est temps d’aller voir ce qui se trouve à l’intérieur de cette petite bête. L’ouverture du boîtier est très facile et se résume à 4 vis se trouvant sur la face inférieure du boîtier. Pas de sticker de garantie à arracher.
A la découverte du couvercle, on remarque tout de suite ce qu’il est possible d’upgrade sur ce barebone. On y trouve entre autres:
- Un slot de RAM DDR3L avec une barette de 2Go (comme promis),
- Un slot pour SSD mSATA (avec un SSD de 32Go, comme promis également),
- Caché sous le SSD, un slot pour carte SIM,
- Un slot mini-PCIE (présumé).
Des points de colle font office de scellé de garantie (du moins je pense). On les retrouve notamment sur les vis qui maintiennent la PCB sur la partie supérieure du boîtier, ainsi que sur la barrette de RAM. Le slot mini-PCIE est vacant pour permettre par la suite l’achat d’un modem UMTS/LTE ou bien d’une carte Wi-Fi.
Le SSD fourni est un SSD mSATA de 32Go de SanDisk. Pas grand chose de plus à dire là-dessus. Les performances de ce dernier m’importe peu au vu de l’utilisation que j’en aurai. Quoique peut-être juste un besoin de durabilité, et encore…
En-dessous de l’emplacement pour le SSD se trouve un slot pour carte SIM. Je n’ai aucune idée sur la manière dont ce dernier fonctionne au niveau système. Cependant je suis certain que la carte ne contient pas de modem GSM/UMTS/LTE. A coupler probablement avec un modem à rajouter sur le slot mini-PCIE. A noter que les 2 connecteurs ont le même format, ce qui pourrait induire en erreur si le marquage « MSATA » n’était pas présent.
Concernant le refroidissement, celui-ci est donc entièrement passif et repose sur un petit radiateur collé au reste du boîtier qui doit faire aussi office de radiateur par conduction. Je ne peux donc pas désolidariser la carte sans devoir casser ce système. Toutefois j’ai essayé de prendre 2/3 photos pour voir à quoi ressemble cet intérieur.
Premier démarrage
A ma grande surprise, l’engin a directement démarré sur un Windows 7 Ultimate 32 bits (malgré que le CPU supporte du 64 bits). Il n’y avait pas de POST (ou du moins un très rapide), ce qui indique probablement un BIOS UEFI. Arrivé sur Windows 7, je suis directement tombé sur une session « admin », il n’y avait pas d’écran de premier démarrage. Tous les drivers étaient déjà préinstallés. A première vue aucun autre logiciel superflu n’était installé. Windows n’avait pas de licence, donc je suis directement tombé sur un écran « Activez Windows ».
Il m’aura fallu redémarrer et spam le bouton Delete pour pouvoir accéder au BIOS. Ce dernier est bien plus complet que ce que j’ai pu voir, et supporte effectivement l’UEFI.
Il existe cependant une partie qui m’a pas mal interpellée, la « Serial Port Console Redirection ». Cette partie du BIOS permet de renvoyer la sortie VGA vers le port série, afin d’avoir quelque chose de vraiment « headless ». Option désactivée par défaut, il est toutefois possible de l’activer et d’obtenir l’accès au BIOS et au processus de POST par le port série. A noter que l’affichage de l’OS sur ce port série dépend essentiellement de la manière dont l’OS est configuré. Elle ne dépend pas de l’option citée.
Après un reboot, il devient donc possible de configurer le BIOS exclusivement par série. Pour ceux qui auraient un doute, le câble console Cisco (le bleu) est parfaitement utilisable sur ce barebone. Gardez de préférence la fenêtre de la console à la taille 80×24 pour éviter des problèmes de formatage.
Quelques tests
Cet article n’a pas pour vocation à faire un comparatif avec d’autres routeurs. J’ai juste souhaité exposer ici quelques indicateurs que j’aurai moi-même souhaité avoir avant l’achat de ce matos. J’ai donc booté un Ubuntu Live afin de réaliser ces quelques tests avant d’y installer définitivement pfSense.
Le test du NAT
Je suis pour ce test allé au plus simple: ma question était de voir comment le routeur suit au niveau des opérations de routage/NAT. NetworkManager dispose d’un mode « partage de connexion » pour partager l’accès à internet sur d’autres interfaces. J’ai donc utilisé cette fonctionnalité ainsi que iperf afin de mesurer la bande passante que le barebone est capable de faire passer. Les tests se sont déroulés sur un LAN gigabit.
Test de référence: test en direct
pingex@PGX-E202S:~$ iperf -c 10.192.20.42 ------------------------------------------------------------ Client connecting to 10.192.20.42, TCP port 5001 TCP window size: 85.0 KByte (default) ------------------------------------------------------------ [ 5] local 10.192.20.29 port 40974 connected with 10.192.20.42 port 5001 [ ID] Interval Transfer Bandwidth [ 5] 0.0-10.0 sec 1.09 GBytes 933 Mbits/sec
Seul un petit switch sépare les 2 machines. Sinon pas grand chose à dire, nous avons donc une bande passante annoncée par iperf de 933 Mbits/s entre le client et le serveur.
Le test du NAT: barebone en tant que routeur
pingex@PGX-E202S:~$ iperf -c 10.192.20.42 ------------------------------------------------------------ Client connecting to 10.192.20.42, TCP port 5001 TCP window size: 85.0 KByte (default) ------------------------------------------------------------ [ 3] local 10.42.0.139 port 59230 connected with 10.192.20.42 port 5001 [ ID] Interval Transfer Bandwidth [ 3] 0.0-10.0 sec 1.09 GBytes 931 Mbits/sec
En 10 secondes de speedtest, la perte engendrée par le barebone est presque inexistante. De plus malgré son petit CPU, les graphes d’utilisation sont à plat. En fait les terminaux graphiques consomment plus de CPU que les opérations de NAT. Étonnant ?.
Edit 27/07/2017: J’ai quand même pas mal douté du fait que le CPU ne soit quasiment pas sollicité pour 1 Gbit/s de NAT. Mes doutes se sont confirmés après l’installation de pfSense et après avoir refait un coup d’iperf.
CPU Activity last pid: 54073; load averages: 1.05, 0.80, 0.64 up 0+00:36:57 04:29:08 122 processes: 5 running, 99 sleeping, 18 waiting Mem: 46M Active, 48M Inact, 177M Wired, 992K Cache, 153M Buf, 1598M Free Swap: 4096M Total, 4096M Free PID USERNAME PRI NICE SIZE RES STATE C TIME WCPU COMMAND 11 root 155 ki31 0K 64K RUN 0 33:17 92.19% [idle{idle: cpu0}] 11 root 155 ki31 0K 64K CPU1 1 32:17 83.89% [idle{idle: cpu1}] 11 root 155 ki31 0K 64K CPU2 2 32:12 77.78% [idle{idle: cpu2}] 0 root -92 - 0K 288K - 3 5:52 67.77% [kernel{em1 que}] 11 root 155 ki31 0K 64K CPU3 3 28:31 30.76% [idle{idle: cpu3}] 0 root -92 - 0K 288K - 2 2:04 19.48% [kernel{em0 que}] 5 root -16 - 0K 16K pftm 1 0:44 2.39% [pf purge] 41920 root 52 0 268M 36652K piperd 1 0:00 1.07% php-fpm: pool nginx (php-fpm) 12 root -60 - 0K 288K WAIT 0 0:09 0.88% [intr{swi4: clock}] 50450 root 52 0 15012K 2308K uwait 1 0:00 0.29% [dpinger{dpinger}] 50002 root 52 0 19108K 2376K uwait 1 0:00 0.29% [dpinger{dpinger}] 50450 root 29 0 15012K 2308K nanslp 2 0:00 0.29% [dpinger{dpinger}] 50450 root 29 0 15012K 2308K sbwait 0 0:00 0.29% [dpinger{dpinger}] 50450 root 41 0 15012K 2308K accept 0 0:00 0.29% [dpinger{dpinger}] 50450 root 31 0 15012K 2308K nanslp 3 0:00 0.29% [dpinger{dpinger}] 0 root -92 - 0K 288K - 1 0:05 0.20% [kernel{em0 txq}] 50002 root 31 0 19108K 2376K nanslp 1 0:00 0.20% [dpinger{dpinger}] 50002 root 28 0 19108K 2376K nanslp 0 0:00 0.20% [dpinger{dpinger}]
En affichant l’activité système de pfSense lors d’un iperf, on constate bien que le système peut hog jusqu’à 100% d’un coeur pour faire du NAT à 1 Gigabit. Mis en perspective ce n’est toujours qu’un seul cœur sur 4 occupé pour mettre au taquet 2 interfaces. Cela reste largement raisonnable.
De plus il semblerait que la bande passante ne soit pas consistent. Ce problème a également été mis en évidence dans cet article (partie Homebrew 2.0 – pfSense 2.3.1) et semble être du à pfSense lui-même. Les performances restent cependant très acceptables.
La cryptographie
Déjà petit point négatif: le CPU ne dispose pas des instructions AES-NI. Mais bon vu le type de CPU dont il s’agit, rien de vraiment étonnant. Il faudra donc se contenter du processeur pour les opérations de cryptographie.
Afin de tester le VPN, j’ai décidé de m’appuyer sur une configuration typique: une instance d’OpenVPN point-à-point. Le serveur correspond au barebone et le client un PC portable muni d’un processeur suffisamment véloce pour ne pas avoir besoin de le faire rentrer en ligne de compte dans les tests. Les 2 hôtes tournent sur le même LAN gigabit comme précédemment. Je teste ici 3 ciphers différents (les plus courants): l’AES-256, 128 et Blowfish.
Voici la configuration du tunnel:
dev tun0 dev-type tun secret profile.key proto udp6 keepalive 10 60 persist-tun persist-key cipher XXX auth SHA1 comp-lzo no port 1194 ifconfig 172.16.1.1 172.16.1.2
AES-256-CBC
ubuntu@ubuntu:~/Desktop/barebone$ iperf -c 172.16.1.1 -r ------------------------------------------------------------ Server listening on TCP port 5001 TCP window size: 85.3 KByte (default) ------------------------------------------------------------ ------------------------------------------------------------ Client connecting to 172.16.1.1, TCP port 5001 TCP window size: 76.5 KByte (default) ------------------------------------------------------------ [ 5] local 172.16.1.2 port 48166 connected with 172.16.1.1 port 5001 [ ID] Interval Transfer Bandwidth [ 5] 0.0-10.0 sec 119 MBytes 99.9 Mbits/sec [ 4] local 172.16.1.2 port 5001 connected with 172.16.1.1 port 44180 [ 4] 0.0-10.1 sec 211 MBytes 176 Mbits/sec
En AES-256, le barebone parvient à chiffrer à environ 100 Mbits/s et à déchiffer à 176 Mbits/s. Je dispose chez moi d’une connexion de 200 Mbits/s. Je n’utilise le VPN d’une manière générale que pour faire transiter des informations de « signalisation ». Pas de quoi générer plus de 100 Mbits/s.
AES-128-CBC
ubuntu@ubuntu:~/Desktop/barebone$ iperf -c 172.16.1.1 -r ------------------------------------------------------------ Server listening on TCP port 5001 TCP window size: 85.3 KByte (default) ------------------------------------------------------------ ------------------------------------------------------------ Client connecting to 172.16.1.1, TCP port 5001 TCP window size: 76.5 KByte (default) ------------------------------------------------------------ [ 5] local 172.16.1.2 port 48168 connected with 172.16.1.1 port 5001 [ ID] Interval Transfer Bandwidth [ 5] 0.0-10.0 sec 135 MBytes 113 Mbits/sec [ 4] local 172.16.1.2 port 5001 connected with 172.16.1.1 port 44186 [ 4] 0.0-10.1 sec 226 MBytes 188 Mbits/sec
L’AES-128 est une version « downgraded » de l’AES-256. On gagne par rapport à ce dernier environ +10 Mbits/s dans les deux sens. Pas forcément très rentable d’un point de vue rapport sécurité/bande passante, sauf si 10 Mbits/s vous importe (et que vous avez la connexion en conséquence).
BF-CBC
ubuntu@ubuntu:~/Desktop/barebone$ iperf -c 172.16.1.1 -r ------------------------------------------------------------ Server listening on TCP port 5001 TCP window size: 85.3 KByte (default) ------------------------------------------------------------ ------------------------------------------------------------ Client connecting to 172.16.1.1, TCP port 5001 TCP window size: 94.5 KByte (default) ------------------------------------------------------------ [ 5] local 172.16.1.2 port 48170 connected with 172.16.1.1 port 5001 [ ID] Interval Transfer Bandwidth [ 5] 0.0-10.0 sec 173 MBytes 145 Mbits/sec [ 4] local 172.16.1.2 port 5001 connected with 172.16.1.1 port 44194 [ 4] 0.0-10.1 sec 199 MBytes 165 Mbits/sec
Malgré que ce cipher soit vulnérable à SWEET32, il reste encore utilisé dans certaines configurations VPN. Ce dernier peut rester pas mal pour être utilisé sur des réseaux « de confiance » ou bien en circuit fermé (RPN d’Online, communications intra-AS, etc) dans le cas où ces +50 Mbits/s par rapport à l’AES-256 vous importe. A vous de voir.
Points pratiques
Je vais mettre ici au fur et à mesure quelques points et bidouillages utiles avec ce barebone.
Les températures
pfSense n’affiche pas de base la température du processeur. Il faut pour corriger cela rajouter une option dans /boot/loader.conf.local:
coretemp_load="yes"
et redémarrer le système. Si vous êtes un peu plus pressé, vous pouvez aussi faire kldload coretemp et pouvoir ainsi utiliser les températures tout de suite. Pour afficher les températures directement dans la console, vous pouvez faire sysctl -a | grep temperature.
En pratique, la température du processeur ne monte pas au-dessus de 55°C en charge, ce qui est très raisonnable.
trim SSD
Le support de trim n’est pas activé par défaut sur pfSense. Il faut suivre les instructions données ici afin de pouvoir l’activer.
En conclusion
Je vais bientôt mettre en production ce petit joujou, et avoir l’occasion de le tester sur la durée. En tous cas à première vue le matériel semble assez solide. A voir sur la durée maintenant. J’espère avoir fait le tour de cet engin et avoir donné quelques indicateurs sur ses capacités et performances. Je suis toujours ouvert à d’autres suggestions de benchmark.
Bonus: l’énumération complète du matériel
Voici quelques commandes détaillant ce qui se trouve à l’intérieur de ce barebone.
lscpu
Architecture: x86_64 CPU op-mode(s): 32-bit, 64-bit Byte Order: Little Endian CPU(s): 4 On-line CPU(s) list: 0-3 Thread(s) per core: 1 Core(s) per socket: 4 Socket(s): 1 NUMA node(s): 1 Vendor ID: GenuineIntel CPU family: 6 Model: 55 Model name: Intel(R) Celeron(R) CPU J1900 @ 1.99GHz Stepping: 8 CPU MHz: 1720.561 CPU max MHz: 2415.7000 CPU min MHz: 1332.8000 BogoMIPS: 3993.60 Virtualization: VT-x L1d cache: 24K L1i cache: 32K L2 cache: 1024K NUMA node0 CPU(s): 0-3 Flags: fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe syscall nx rdtscp lm constant_tsc arch_perfmon pebs bts rep_good nopl xtopology nonstop_tsc aperfmperf pni pclmulqdq dtes64 monitor ds_cpl vmx est tm2 ssse3 cx16 xtpr pdcm sse4_1 sse4_2 movbe popcnt tsc_deadline_timer rdrand lahf_lm 3dnowprefetch epb tpr_shadow vnmi flexpriority ept vpid tsc_adjust smep erms dtherm ida arat
lspci
00:00.0 Host bridge: Intel Corporation Atom Processor Z36xxx/Z37xxx Series SoC Transaction Register (rev 0e) 00:02.0 VGA compatible controller: Intel Corporation Atom Processor Z36xxx/Z37xxx Series Graphics & Display (rev 0e) 00:13.0 SATA controller: Intel Corporation Atom Processor E3800 Series SATA AHCI Controller (rev 0e) 00:14.0 USB controller: Intel Corporation Atom Processor Z36xxx/Z37xxx, Celeron N2000 Series USB xHCI (rev 0e) 00:1c.0 PCI bridge: Intel Corporation Atom Processor E3800 Series PCI Express Root Port 1 (rev 0e) 00:1c.1 PCI bridge: Intel Corporation Atom Processor E3800 Series PCI Express Root Port 2 (rev 0e) 00:1c.2 PCI bridge: Intel Corporation Atom Processor E3800 Series PCI Express Root Port 3 (rev 0e) 00:1c.3 PCI bridge: Intel Corporation Atom Processor E3800 Series PCI Express Root Port 4 (rev 0e) 00:1f.0 ISA bridge: Intel Corporation Atom Processor Z36xxx/Z37xxx Series Power Control Unit (rev 0e) 00:1f.3 SMBus: Intel Corporation Atom Processor E3800 Series SMBus Controller (rev 0e) 01:00.0 Ethernet controller: Intel Corporation 82583V Gigabit Network Connection 02:00.0 Ethernet controller: Intel Corporation 82583V Gigabit Network Connection 03:00.0 Ethernet controller: Intel Corporation 82583V Gigabit Network Connection 04:00.0 Ethernet controller: Intel Corporation 82583V Gigabit Network Connection
lshw
ubuntu description: Desktop Computer product: Default string (Default string) vendor: Default string version: Default string serial: Default string width: 64 bits capabilities: smbios-3.0 dmi-3.0 vsyscall32 configuration: boot=normal chassis=desktop family=Default string sku=Default string uuid=00020003-0004-0005-0006-000700080009 *-core description: Motherboard product: YL-1900L4-V2 physical id: 0 version: Default string serial: Default string slot: Default string *-firmware description: BIOS vendor: American Megatrends Inc. physical id: 0 version: 5.6.5 date: 04/19/2017 size: 64KiB capacity: 5056KiB capabilities: pci upgrade shadowing cdboot bootselect socketedrom edd int13floppy1200 int13floppy720 int13floppy2880 int5printscreen int9keyboard int14serial int17printer acpi usb biosbootspecification uefi *-memory description: System Memory physical id: 28 slot: System board or motherboard size: 2GiB *-bank:0 description: DIMM DDR3 1600 MHz (0.6 ns) product: HMT425S6EFR6A-PB vendor: SK Hynix physical id: 0 serial: 021815CF slot: A1_DIMM0 size: 2GiB width: 64 bits clock: 1600MHz (0.6ns) *-bank:1 description: DIMM [empty] product: Array1_PartNumber1 vendor: A1_Manufacturer1 physical id: 1 serial: A1_SerNum1 slot: A1_DIMM1 *-cache:0 description: L1 cache physical id: 32 slot: CPU Internal L1 size: 224KiB capacity: 224KiB capabilities: internal write-back configuration: level=1 *-cache:1 description: L2 cache physical id: 33 slot: CPU Internal L2 size: 2MiB capacity: 2MiB capabilities: internal write-back unified configuration: level=2 *-cpu description: CPU product: Intel(R) Celeron(R) CPU J1900 @ 1.99GHz vendor: Intel Corp. physical id: 34 bus info: cpu@0 version: Intel(R) Celeron(R) CPU J1900 @ 1.99GHz slot: SOCKET 0 size: 2398MHz capacity: 2415MHz width: 64 bits clock: 83MHz capabilities: x86-64 fpu fpu_exception wp vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe syscall nx rdtscp constant_tsc arch_perfmon pebs bts rep_good nopl xtopology nonstop_tsc aperfmperf pni pclmulqdq dtes64 monitor ds_cpl vmx est tm2 ssse3 cx16 xtpr pdcm sse4_1 sse4_2 movbe popcnt tsc_deadline_timer rdrand lahf_lm 3dnowprefetch epb tpr_shadow vnmi flexpriority ept vpid tsc_adjust smep erms dtherm ida arat cpufreq configuration: cores=4 enabledcores=4 threads=4 *-pci description: Host bridge product: Atom Processor Z36xxx/Z37xxx Series SoC Transaction Register vendor: Intel Corporation physical id: 100 bus info: pci@0000:00:00.0 version: 0e width: 32 bits clock: 33MHz configuration: driver=iosf_mbi_pci resources: irq:0 *-display description: VGA compatible controller product: Atom Processor Z36xxx/Z37xxx Series Graphics & Display vendor: Intel Corporation physical id: 2 bus info: pci@0000:00:02.0 version: 0e width: 32 bits clock: 33MHz capabilities: pm msi vga_controller bus_master cap_list rom configuration: driver=i915 latency=0 resources: irq:90 memory:d0000000-d03fffff memory:c0000000-cfffffff ioport:f080(size=8) *-storage description: SATA controller product: Atom Processor E3800 Series SATA AHCI Controller vendor: Intel Corporation physical id: 13 bus info: pci@0000:00:13.0 version: 0e width: 32 bits clock: 66MHz capabilities: storage msi pm ahci_1.0 bus_master cap_list configuration: driver=ahci latency=0 resources: irq:88 ioport:f070(size=8) ioport:f060(size=4) ioport:f050(size=8) ioport:f040(size=4) ioport:f020(size=32) memory:d0811000-d08117ff *-usb description: USB controller product: Atom Processor Z36xxx/Z37xxx, Celeron N2000 Series USB xHCI vendor: Intel Corporation physical id: 14 bus info: pci@0000:00:14.0 version: 0e width: 64 bits clock: 33MHz capabilities: pm msi xhci bus_master cap_list configuration: driver=xhci_hcd latency=0 resources: irq:87 memory:d0800000-d080ffff *-usbhost:0 product: xHCI Host Controller vendor: Linux 4.4.0-31-generic xhci-hcd physical id: 0 bus info: usb@2 logical name: usb2 version: 4.04 capabilities: usb-3.00 configuration: driver=hub slots=1 speed=5000Mbit/s *-usbhost:1 product: xHCI Host Controller vendor: Linux 4.4.0-31-generic xhci-hcd physical id: 1 bus info: usb@1 logical name: usb1 version: 4.04 capabilities: usb-2.00 configuration: driver=hub slots=6 speed=480Mbit/s *-usb description: USB hub product: USB2.0 Hub vendor: Action Star physical id: 3 bus info: usb@1:3 version: 1.06 capabilities: usb-2.00 configuration: driver=hub maxpower=100mA slots=5 speed=480Mbit/s *-usb:0 description: Keyboard product: USB HID vendor: Action Star physical id: 1 bus info: usb@1:3.1 version: 6.05 capabilities: usb-2.00 configuration: driver=usbhid maxpower=20mA speed=480Mbit/s *-usb:1 description: Mouse product: USB Receiver vendor: Logitech physical id: 2 bus info: usb@1:3.2 version: 30.00 capabilities: usb-2.00 configuration: driver=usbhid maxpower=98mA speed=12Mbit/s *-usb:2 description: Mass storage device product: Cruzer Edge vendor: SanDisk physical id: 4 bus info: usb@1:3.4 logical name: scsi2 version: 1.26 serial: 20051232610F4942A6AC capabilities: usb-2.00 scsi emulated scsi-host configuration: driver=usb-storage maxpower=200mA speed=480Mbit/s *-disk description: SCSI Disk physical id: 0.0.0 bus info: scsi@2:0.0.0 logical name: /dev/sdb size: 14GiB (16GB) capabilities: partitioned partitioned:dos configuration: logicalsectorsize=512 sectorsize=512 signature=06fd92bc *-volume description: Windows FAT volume vendor: SYSLINUX physical id: 1 bus info: scsi@2:0.0.0,1 logical name: /dev/sdb1 logical name: /cdrom version: FAT32 serial: 52a9-e5a8 size: 14GiB capacity: 14GiB capabilities: primary bootable fat initialized configuration: FATs=2 filesystem=fat label=UBUNTU 16_0 mount.fstype=vfat mount.options=ro,noatime,fmask=0022,dmask=0022,codepage=437,iocharset=iso8859-1,shortname=mixed,errors=remount-ro state=mounted *-usb:3 description: Keyboard product: USB-HID Keyboard vendor: Holtek Semiconductor, Inc. physical id: 5 bus info: usb@1:3.5 version: 21.14 capabilities: usb-1.10 configuration: driver=usbhid maxpower=100mA speed=12Mbit/s *-pci:0 description: PCI bridge product: Atom Processor E3800 Series PCI Express Root Port 1 vendor: Intel Corporation physical id: 1c bus info: pci@0000:00:1c.0 version: 0e width: 32 bits clock: 33MHz capabilities: pci pciexpress msi pm normal_decode bus_master cap_list configuration: driver=pcieport resources: irq:16 ioport:e000(size=4096) memory:d0700000-d07fffff ioport:d0c00000(size=2097152) *-network description: Ethernet interface product: 82583V Gigabit Network Connection vendor: Intel Corporation physical id: 0 bus info: pci@0000:01:00.0 logical name: enp1s0 version: 00 serial: 00:eb:cb:10:01:19 size: 1Gbit/s capacity: 1Gbit/s width: 32 bits clock: 33MHz capabilities: pm msi pciexpress msix bus_master cap_list ethernet physical tp 10bt 10bt-fd 100bt 100bt-fd 1000bt-fd autonegotiation configuration: autonegotiation=on broadcast=yes driver=e1000e driverversion=3.2.6-k duplex=full firmware=1.10-0 ip=10.192.20.41 latency=0 link=yes multicast=yes port=twisted pair speed=1Gbit/s resources: irq:89 memory:d0700000-d071ffff ioport:e000(size=32) memory:d0720000-d0723fff *-pci:1 description: PCI bridge product: Atom Processor E3800 Series PCI Express Root Port 2 vendor: Intel Corporation physical id: 1c.1 bus info: pci@0000:00:1c.1 version: 0e width: 32 bits clock: 33MHz capabilities: pci pciexpress msi pm normal_decode bus_master cap_list configuration: driver=pcieport resources: irq:17 ioport:d000(size=4096) memory:d0600000-d06fffff ioport:d0e00000(size=2097152) *-network description: Ethernet interface product: 82583V Gigabit Network Connection vendor: Intel Corporation physical id: 0 bus info: pci@0000:02:00.0 logical name: enp2s0 version: 00 serial: 00:eb:cb:10:01:1a capacity: 1Gbit/s width: 32 bits clock: 33MHz capabilities: pm msi pciexpress msix bus_master cap_list ethernet physical tp 10bt 10bt-fd 100bt 100bt-fd 1000bt-fd autonegotiation configuration: autonegotiation=on broadcast=yes driver=e1000e driverversion=3.2.6-k firmware=1.10-0 latency=0 link=no multicast=yes port=twisted pair resources: irq:91 memory:d0600000-d061ffff ioport:d000(size=32) memory:d0620000-d0623fff *-pci:2 description: PCI bridge product: Atom Processor E3800 Series PCI Express Root Port 3 vendor: Intel Corporation physical id: 1c.2 bus info: pci@0000:00:1c.2 version: 0e width: 32 bits clock: 33MHz capabilities: pci pciexpress msi pm normal_decode bus_master cap_list configuration: driver=pcieport resources: irq:18 ioport:c000(size=4096) memory:d0500000-d05fffff ioport:80000000(size=2097152) *-network description: Ethernet interface product: 82583V Gigabit Network Connection vendor: Intel Corporation physical id: 0 bus info: pci@0000:03:00.0 logical name: enp3s0 version: 00 serial: 00:eb:cb:10:01:1b capacity: 1Gbit/s width: 32 bits clock: 33MHz capabilities: pm msi pciexpress msix bus_master cap_list ethernet physical tp 10bt 10bt-fd 100bt 100bt-fd 1000bt-fd autonegotiation configuration: autonegotiation=on broadcast=yes driver=e1000e driverversion=3.2.6-k firmware=1.10-0 latency=0 link=no multicast=yes port=twisted pair resources: irq:92 memory:d0500000-d051ffff ioport:c000(size=32) memory:d0520000-d0523fff *-pci:3 description: PCI bridge product: Atom Processor E3800 Series PCI Express Root Port 4 vendor: Intel Corporation physical id: 1c.3 bus info: pci@0000:00:1c.3 version: 0e width: 32 bits clock: 33MHz capabilities: pci pciexpress msi pm normal_decode bus_master cap_list configuration: driver=pcieport resources: irq:19 ioport:b000(size=4096) memory:d0400000-d04fffff ioport:80200000(size=2097152) *-network description: Ethernet interface product: 82583V Gigabit Network Connection vendor: Intel Corporation physical id: 0 bus info: pci@0000:04:00.0 logical name: enp4s0 version: 00 serial: 00:eb:cb:10:01:1c capacity: 1Gbit/s width: 32 bits clock: 33MHz capabilities: pm msi pciexpress msix bus_master cap_list ethernet physical tp 10bt 10bt-fd 100bt 100bt-fd 1000bt-fd autonegotiation configuration: autonegotiation=on broadcast=yes driver=e1000e driverversion=3.2.6-k firmware=1.10-0 latency=0 link=no multicast=yes port=twisted pair resources: irq:93 memory:d0400000-d041ffff ioport:b000(size=32) memory:d0420000-d0423fff *-isa description: ISA bridge product: Atom Processor Z36xxx/Z37xxx Series Power Control Unit vendor: Intel Corporation physical id: 1f bus info: pci@0000:00:1f.0 version: 0e width: 32 bits clock: 33MHz capabilities: isa bus_master cap_list configuration: driver=lpc_ich latency=0 resources: irq:0 *-serial UNCLAIMED description: SMBus product: Atom Processor E3800 Series SMBus Controller vendor: Intel Corporation physical id: 1f.3 bus info: pci@0000:00:1f.3 version: 0e width: 32 bits clock: 33MHz capabilities: pm cap_list configuration: latency=0 resources: memory:d0810000-d081001f ioport:f000(size=32) *-scsi physical id: 1 logical name: scsi0 capabilities: emulated *-disk description: ATA Disk product: SanDisk SSD i100 physical id: 0.0.0 bus info: scsi@0:0.0.0 logical name: /dev/sda version: 6.00 serial: 1705173613 size: 29GiB (32GB) configuration: ansiversion=5 logicalsectorsize=512 sectorsize=512 signature=5c83c7b3