summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorSimon Rettberg2019-04-20 11:31:39 +0200
committerSimon Rettberg2019-04-20 11:31:39 +0200
commit85de662ae23f029371b340d7ba1e04dbcd10bcc7 (patch)
tree92337db070db7b1d435190071b59c69d7bbdd376
parent[serversetup-bwlp-ipxe] Use badge for refcount in bootentry table (diff)
downloadslx-admin-85de662ae23f029371b340d7ba1e04dbcd10bcc7.tar.gz
slx-admin-85de662ae23f029371b340d7ba1e04dbcd10bcc7.tar.xz
slx-admin-85de662ae23f029371b340d7ba1e04dbcd10bcc7.zip
[statistics] Show RAM manufacturer; add JEDEC DB & parser
-rw-r--r--modules-available/statistics/inc/jedec.json1
-rw-r--r--modules-available/statistics/inc/parser.inc.php36
-rw-r--r--modules-available/statistics/page.inc.php2
-rw-r--r--modules-available/statistics/templates/machine-main.html2
-rw-r--r--tools/jedec.php35
5 files changed, 71 insertions, 5 deletions
diff --git a/modules-available/statistics/inc/jedec.json b/modules-available/statistics/inc/jedec.json
new file mode 100644
index 00000000..48d553c1
--- /dev/null
+++ b/modules-available/statistics/inc/jedec.json
@@ -0,0 +1 @@
+{"bank1":{"id1":"AMD","id2":"AMI","id3":"Fairchild","id4":"Fujitsu","id5":"GTE","id6":"Harris","id7":"Hitachi","id8":"Inmos","id9":"Intel","id10":"I.T.T.","id11":"Intersil","id12":"Monolithic Memories","id13":"Mostek","id14":"Freescale (Motorola)","id15":"National","id16":"NEC","id17":"RCA","id18":"Raytheon","id19":"Conexant (Rockwell)","id20":"Seeq","id21":"NXP (Philips)","id22":"Synertek","id23":"Texas Instruments","id24":"Toshiba","id25":"Xicor","id26":"Zilog","id27":"Eurotechnique","id28":"Mitsubishi","id29":"Lucent (AT&T)","id30":"Exel","id31":"Atmel","id32":"STMicroelectronics","id33":"Lattice Semi.","id34":"NCR","id35":"Wafer Scale Integration","id36":"IBM","id37":"Tristar","id38":"Visic","id39":"Intl. CMOS Technology","id40":"SSSI","id41":"MicrochipTechnology","id42":"Ricoh Ltd","id43":"VLSI","id44":"Micron Technology","id45":"SK Hynix","id46":"OKI Semiconductor","id47":"ACTEL","id48":"Sharp","id49":"Catalyst","id50":"Panasonic","id51":"IDT","id52":"Cypress","id53":"DEC","id54":"LSI Logic","id55":"Zarlink (Plessey)","id56":"UTMC","id57":"Thinking Machine","id58":"Thomson CSF","id59":"Integrated CMOS (Vertex)","id60":"Honeywell","id61":"Tektronix","id62":"Oracle Corporation","id63":"Silicon Storage Technology","id64":"ProMos\/Mosel Vitelic","id65":"Infineon (Siemens)","id66":"Macronix","id67":"Xerox","id68":"Plus Logic","id69":"Western Digital Technologies Inc","id70":"Elan Circuit Tech.","id71":"European Silicon Str.","id72":"Apple Computer","id73":"Xilinx","id74":"Compaq","id75":"Protocol Engines","id76":"SCI","id77":"Seiko Instruments","id78":"Samsung","id79":"I3 Design System","id80":"Klic","id81":"Crosspoint Solutions","id82":"Alliance Semiconductor","id83":"Tandem","id84":"Hewlett-Packard","id85":"Integrated Silicon Solutions","id86":"Brooktree","id87":"New Media","id88":"MHS Electronic","id89":"Performance Semi.","id90":"Winbond Electronic","id91":"Kawasaki Steel","id92":"Bright Micro","id93":"TECMAR","id94":"Exar","id95":"PCMCIA","id96":"LG Semi (Goldstar)","id97":"Northern Telecom","id98":"Sanyo","id99":"Array Microsystems","id100":"Crystal Semiconductor","id101":"Analog Devices","id102":"PMC-Sierra","id103":"Asparix","id104":"Convex Computer","id105":"Quality Semiconductor","id106":"Nimbus Technology","id107":"Transwitch","id108":"Micronas (ITT Intermetall)","id109":"Cannon","id110":"Altera","id111":"NEXCOM","id112":"Qualcomm","id113":"Sony","id114":"Cray Research","id115":"AMS(Austria Micro)","id116":"Vitesse","id117":"Aster Electronics","id118":"Bay Networks (Synoptic)","id119":"Zentrum\/ZMD","id120":"TRW","id121":"Thesys","id122":"Solbourne Computer","id123":"Allied-Signal","id124":"Dialog Semiconductor","id125":"Media Vision","id126":"Numonyx Corporation"},"bank2":{"id1":"Cirrus Logic","id2":"National Instruments","id3":"ILC Data Device","id4":"Alcatel Mietec","id5":"Micro Linear","id6":"Univ. of NC","id7":"JTAG Technologies","id8":"BAE Systems (Loral)","id9":"Nchip","id10":"Galileo Tech","id11":"Bestlink Systems","id12":"Graychip","id13":"GENNUM","id14":"VideoLogic","id15":"Robert Bosch","id16":"Chip Express","id17":"DATARAM","id18":"United Microelectronics Corp","id19":"TCSI","id20":"Smart Modular","id21":"Hughes Aircraft","id22":"Lanstar Semiconductor","id23":"Qlogic","id24":"Kingston","id25":"Music Semi","id26":"Ericsson Components","id27":"SpaSE","id28":"Eon Silicon Devices","id29":"Integrated Silicon Solution (ISSI)","id30":"DoD","id31":"Integ. Memories Tech.","id32":"Corollary Inc","id33":"Dallas Semiconductor","id34":"Omnivision","id35":"EIV(Switzerland)","id36":"Novatel Wireless","id37":"Zarlink (Mitel)","id38":"Clearpoint","id39":"Cabletron","id40":"STEC (Silicon Tech)","id41":"Vanguard","id42":"Hagiwara Sys-Com","id43":"Vantis","id44":"Celestica","id45":"Century","id46":"Hal Computers","id47":"Rohm Company Ltd","id48":"Juniper Networks","id49":"Libit Signal Processing","id50":"Mushkin Enhanced Memory","id51":"Tundra Semiconductor","id52":"Adaptec Inc","id53":"LightSpeed Semi.","id54":"ZSP Corp","id55":"AMIC Technology","id56":"Adobe Systems","id57":"Dynachip","id58":"PNY Technologies Inc","id59":"Newport Digital","id60":"MMC Networks","id61":"T Square","id62":"Seiko Epson","id63":"Broadcom","id64":"Viking Components","id65":"V3 Semiconductor","id66":"Flextronics (Orbit Semiconductor)","id67":"Suwa Electronics","id68":"Transmeta","id69":"Micron CMS","id70":"American Computer & Digital Components Inc","id71":"Enhance 3000 Inc","id72":"Tower Semiconductor","id73":"CPU Design","id74":"Price Point","id75":"Maxim Integrated Product","id76":"Tellabs","id77":"Centaur Technology","id78":"Unigen Corporation","id79":"Transcend Information","id80":"Memory Card Technology","id81":"CKD Corporation Ltd","id82":"Capital Instruments Inc","id83":"Aica Kogyo Ltd","id84":"Linvex Technology","id85":"MSC Vertriebs GmbH","id86":"AKM Company Ltd","id87":"Dynamem Inc","id88":"NERA ASA","id89":"GSI Technology","id90":"Dane-Elec (C Memory)","id91":"Acorn Computers","id92":"Lara Technology","id93":"Oak Technology Inc","id94":"Itec Memory","id95":"Tanisys Technology","id96":"Truevision","id97":"Wintec Industries","id98":"Super PC Memory","id99":"MGV Memory","id100":"Galvantech","id101":"Gadzoox Networks","id102":"Multi Dimensional Cons.","id103":"GateField","id104":"Integrated Memory System","id105":"Triscend","id106":"XaQti","id107":"Goldenram","id108":"Clear Logic","id109":"Cimaron Communications","id110":"Nippon Steel Semi. Corp","id111":"Advantage Memory","id112":"AMCC","id113":"LeCroy","id114":"Yamaha Corporation","id115":"Digital Microwave","id116":"NetLogic Microsystems","id117":"MIMOS Semiconductor","id118":"Advanced Fibre","id119":"BF Goodrich Data.","id120":"Epigram","id121":"Acbel Polytech Inc","id122":"Apacer Technology","id123":"Admor Memory","id124":"FOXCONN","id125":"Quadratics Superconductor","id126":"3COM"},"bank3":{"id1":"Camintonn Corporation","id2":"ISOA Incorporated","id3":"Agate Semiconductor","id4":"ADMtek Incorporated","id5":"HYPERTEC","id6":"Adhoc Technologies","id7":"MOSAID Technologies","id8":"Ardent Technologies","id9":"Switchcore","id10":"Cisco Systems Inc","id11":"Allayer Technologies","id12":"WorkX AG (Wichman)","id13":"Oasis Semiconductor","id14":"Novanet Semiconductor","id15":"E-M Solutions","id16":"Power General","id17":"Advanced Hardware Arch.","id18":"Inova Semiconductors GmbH","id19":"Telocity","id20":"Delkin Devices","id21":"Symagery Microsystems","id22":"C-Port Corporation","id23":"SiberCore Technologies","id24":"Southland Microsystems","id25":"Malleable Technologies","id26":"Kendin Communications","id27":"Great Technology Microcomputer","id28":"Sanmina Corporation","id29":"HADCO Corporation","id30":"Corsair","id31":"Actrans System Inc","id32":"ALPHA Technologies","id33":"Silicon Laboratories Inc (Cygnal)","id34":"Artesyn Technologies","id35":"Align Manufacturing","id36":"Peregrine Semiconductor","id37":"Chameleon Systems","id38":"Aplus Flash Technology","id39":"MIPS Technologies","id40":"Chrysalis ITS","id41":"ADTEC Corporation","id42":"Kentron Technologies","id43":"Win Technologies","id44":"Tezzaron Semiconductor","id45":"Extreme Packet Devices","id46":"RF Micro Devices","id47":"Siemens AG","id48":"Sarnoff Corporation","id49":"Itautec SA","id50":"Radiata Inc","id51":"Benchmark Elect. (AVEX)","id52":"Legend","id53":"SpecTek Incorporated","id54":"Hi\/fn","id55":"Enikia Incorporated","id56":"SwitchOn Networks","id57":"AANetcom Incorporated","id58":"Micro Memory Bank","id59":"ESS Technology","id60":"Virata Corporation","id61":"Excess Bandwidth","id62":"West Bay Semiconductor","id63":"DSP Group","id64":"Newport Communications","id65":"Chip2Chip Incorporated","id66":"Phobos Corporation","id67":"Intellitech Corporation","id68":"Nordic VLSI ASA","id69":"Ishoni Networks","id70":"Silicon Spice","id71":"Alchemy Semiconductor","id72":"Agilent Technologies","id73":"Centillium Communications","id74":"W.L. Gore","id75":"HanBit Electronics","id76":"GlobeSpan","id77":"Element 14","id78":"Pycon","id79":"Saifun Semiconductors","id80":"Sibyte Incorporated","id81":"MetaLink Technologies","id82":"Feiya Technology","id83":"I & C Technology","id84":"Shikatronics","id85":"Elektrobit","id86":"Megic","id87":"Com-Tier","id88":"Malaysia Micro Solutions","id89":"Hyperchip","id90":"Gemstone Communications","id91":"Anadigm (Anadyne)","id92":"3ParData","id93":"Mellanox Technologies","id94":"Tenx Technologies","id95":"Helix AG","id96":"Domosys","id97":"Skyup Technology","id98":"HiNT Corporation","id99":"Chiaro","id100":"MDT Technologies GmbH","id101":"Exbit Technology A\/S","id102":"Integrated Technology Express","id103":"AVED Memory","id104":"Legerity","id105":"Jasmine Networks","id106":"Caspian Networks","id107":"nCUBE","id108":"Silicon Access Networks","id109":"FDK Corporation","id110":"High Bandwidth Access","id111":"MultiLink Technology","id112":"BRECIS","id113":"World Wide Packets","id114":"APW","id115":"Chicory Systems","id116":"Xstream Logic","id117":"Fast-Chip","id118":"Zucotto Wireless","id119":"Realchip","id120":"Galaxy Power","id121":"eSilicon","id122":"Morphics Technology","id123":"Accelerant Networks","id124":"Silicon Wave","id125":"SandCraft","id126":"Elpida"},"bank4":{"id1":"Solectron","id2":"Optosys Technologies","id3":"Buffalo (Formerly Melco)","id4":"TriMedia Technologies","id5":"Cyan Technologies","id6":"Global Locate","id7":"Optillion","id8":"Terago Communications","id9":"Ikanos Communications","id10":"Princeton Technology","id11":"Nanya Technology","id12":"Elite Flash Storage","id13":"Mysticom","id14":"LightSand Communications","id15":"ATI Technologies","id16":"Agere Systems","id17":"NeoMagic","id18":"AuroraNetics","id19":"Golden Empire","id20":"Mushkin","id21":"Tioga Technologies","id22":"Netlist","id23":"TeraLogic","id24":"Cicada Semiconductor","id25":"Centon Electronics","id26":"Tyco Electronics","id27":"Magis Works","id28":"Zettacom","id29":"Cogency Semiconductor","id30":"Chipcon AS","id31":"Aspex Technology","id32":"F5 Networks","id33":"Programmable Silicon Solutions","id34":"ChipWrights","id35":"Acorn Networks","id36":"Quicklogic","id37":"Kingmax Semiconductor","id38":"BOPS","id39":"Flasys","id40":"BitBlitz Communications","id41":"eMemory Technology","id42":"Procket Networks","id43":"Purple Ray","id44":"Trebia Networks","id45":"Delta Electronics","id46":"Onex Communications","id47":"Ample Communications","id48":"Memory Experts Intl","id49":"Astute Networks","id50":"Azanda Network Devices","id51":"Dibcom","id52":"Tekmos","id53":"API NetWorks","id54":"Bay Microsystems","id55":"Firecron Ltd","id56":"Resonext Communications","id57":"Tachys Technologies","id58":"Equator Technology","id59":"Concept Computer","id60":"SILCOM","id61":"3Dlabs","id62":"c\u2019t Magazine","id63":"Sanera Systems","id64":"Silicon Packets","id65":"Viasystems Group","id66":"Simtek","id67":"Semicon Devices Singapore","id68":"Satron Handelsges","id69":"Improv Systems","id70":"INDUSYS GmbH","id71":"Corrent","id72":"Infrant Technologies","id73":"Ritek Corp","id74":"empowerTel Networks","id75":"Hypertec","id76":"Cavium Networks","id77":"PLX Technology","id78":"Massana Design","id79":"Intrinsity","id80":"Valence Semiconductor","id81":"Terawave Communications","id82":"IceFyre Semiconductor","id83":"Primarion","id84":"Picochip Designs Ltd","id85":"Silverback Systems","id86":"Jade Star Technologies","id87":"Pijnenburg Securealink","id88":"takeMS - Ultron AG","id89":"Cambridge Silicon Radio","id90":"Swissbit","id91":"Nazomi Communications","id92":"eWave System","id93":"Rockwell Collins","id94":"Picocel Co Ltd (Paion)","id95":"Alphamosaic Ltd","id96":"Sandburst","id97":"SiCon Video","id98":"NanoAmp Solutions","id99":"Ericsson Technology","id100":"PrairieComm","id101":"Mitac International","id102":"Layer N Networks","id103":"MtekVision (Atsana)","id104":"Allegro Networks","id105":"Marvell Semiconductors","id106":"Netergy Microelectronic","id107":"NVIDIA","id108":"Internet Machines","id109":"Memorysolution GmbH","id110":"Litchfield Communication","id111":"Accton Technology","id112":"Teradiant Networks","id113":"Scaleo Chip","id114":"Cortina Systems","id115":"RAM Components","id116":"Raqia Networks","id117":"ClearSpeed","id118":"Matsushita Battery","id119":"Xelerated","id120":"SimpleTech","id121":"Utron Technology","id122":"Astec International","id123":"AVM gmbH","id124":"Redux Communications","id125":"Dot Hill Systems","id126":"TeraChip"},"bank5":{"id1":"T-RAM Incorporated","id2":"Innovics Wireless","id3":"Teknovus","id4":"KeyEye Communications","id5":"Runcom Technologies","id6":"RedSwitch","id7":"Dotcast","id8":"Silicon Mountain Memory","id9":"Signia Technologies","id10":"Pixim","id11":"Galazar Networks","id12":"White Electronic Designs","id13":"Patriot Scientific","id14":"Neoaxiom Corporation","id15":"3Y Power Technology","id16":"Scaleo Chip","id17":"Potentia Power Systems","id18":"C-guys Incorporated","id19":"Digital Communications Technology Inc","id20":"Silicon-Based Technology","id21":"Fulcrum Microsystems","id22":"Positivo Informatica Ltd","id23":"XIOtech Corporation","id24":"PortalPlayer","id25":"Zhiying Software","id26":"ParkerVision Inc","id27":"Phonex Broadband","id28":"Skyworks Solutions","id29":"Entropic Communications","id30":"I\u2019M Intelligent Memory Ltd","id31":"Zensys A\/S","id32":"Legend Silicon Corp","id33":"Sci-worx GmbH","id34":"SMSC (Standard Microsystems)","id35":"Renesas Electronics","id36":"Raza Microelectronics","id37":"Phyworks","id38":"MediaTek","id39":"Non-cents Productions","id40":"US Modular","id41":"Wintegra Ltd","id42":"Mathstar","id43":"StarCore","id44":"Oplus Technologies","id45":"Mindspeed","id46":"Just Young Computer","id47":"Radia Communications","id48":"OCZ","id49":"Emuzed","id50":"LOGIC Devices","id51":"Inphi Corporation","id52":"Quake Technologies","id53":"Vixel","id54":"SolusTek","id55":"Kongsberg Maritime","id56":"Faraday Technology","id57":"Altium Ltd","id58":"Insyte","id59":"ARM Ltd","id60":"DigiVision","id61":"Vativ Technologies","id62":"Endicott Interconnect Technologies","id63":"Pericom","id64":"Bandspeed","id65":"LeWiz Communications","id66":"CPU Technology","id67":"Ramaxel Technology","id68":"DSP Group","id69":"Axis Communications","id70":"Legacy Electronics","id71":"Chrontel","id72":"Powerchip Semiconductor","id73":"MobilEye Technologies","id74":"Excel Semiconductor","id75":"A-DATA Technology","id76":"VirtualDigm","id77":"G Skill Intl","id78":"Quanta Computer","id79":"Yield Microelectronics","id80":"Afa Technologies","id81":"KINGBOX Technology Co Ltd","id82":"Ceva","id83":"iStor Networks","id84":"Advance Modules","id85":"Microsoft","id86":"Open-Silicon","id87":"Goal Semiconductor","id88":"ARC International","id89":"Simmtec","id90":"Metanoia","id91":"Key Stream","id92":"Lowrance Electronics","id93":"Adimos","id94":"SiGe Semiconductor","id95":"Fodus Communications","id96":"Credence Systems Corp","id97":"Genesis Microchip Inc","id98":"Vihana Inc","id99":"WIS Technologies","id100":"GateChange Technologies","id101":"High Density Devices AS","id102":"Synopsys","id103":"Gigaram","id104":"Enigma Semiconductor Inc","id105":"Century Micro Inc","id106":"Icera Semiconductor","id107":"Mediaworks Integrated Systems","id108":"O\u2019Neil Product Development","id109":"Supreme Top Technology Ltd","id110":"MicroDisplay Corporation","id111":"Team Group Inc","id112":"Sinett Corporation","id113":"Toshiba Corporation","id114":"Tensilica","id115":"SiRF Technology","id116":"Bacoc Inc","id117":"SMaL Camera Technologies","id118":"Thomson SC","id119":"Airgo Networks","id120":"Wisair Ltd","id121":"SigmaTel","id122":"Arkados","id123":"Compete IT gmbH Co KG","id124":"Eudar Technology Inc","id125":"Focus Enhancements","id126":"Xyratex"},"bank6":{"id1":"Specular Networks","id2":"Patriot Memory (PDP Systems)","id3":"U-Chip Technology Corp","id4":"Silicon Optix","id5":"Greenfield Networks","id6":"CompuRAM GmbH","id7":"Stargen Inc","id8":"NetCell Corporation","id9":"Excalibrus Technologies Ltd","id10":"SCM Microsystems","id11":"Xsigo Systems Inc","id12":"CHIPS & Systems Inc","id13":"Tier 1 Multichip Solutions","id14":"CWRL Labs","id15":"Teradici","id16":"Gigaram Inc","id17":"g2 Microsystems","id18":"PowerFlash Semiconductor","id19":"P.A. Semi Inc","id20":"NovaTech Solutions S.A.","id21":"c2 Microsystems Inc","id22":"Level5 Networks","id23":"COS Memory AG","id24":"Innovasic Semiconductor","id25":"02IC Co Ltd","id26":"Tabula Inc","id27":"Crucial Technology","id28":"Chelsio Communications","id29":"Solarflare Communications","id30":"Xambala Inc","id31":"EADS Astrium","id32":"Terra Semiconductor Inc","id33":"Imaging Works Inc","id34":"Astute Networks Inc","id35":"Tzero","id36":"Emulex","id37":"Power-One","id38":"Pulse~LINK Inc","id39":"Hon Hai Precision Industry","id40":"White Rock Networks Inc","id41":"Telegent Systems USA Inc","id42":"Atrua Technologies Inc","id43":"Acbel Polytech Inc","id44":"eRide Inc","id45":"ULi Electronics Inc","id46":"Magnum Semiconductor Inc","id47":"neoOne Technology Inc","id48":"Connex Technology Inc","id49":"Stream Processors Inc","id50":"Focus Enhancements","id51":"Telecis Wireless Inc","id52":"uNav Microelectronics","id53":"Tarari Inc","id54":"Ambric Inc","id55":"Newport Media Inc","id56":"VMTS","id57":"Enuclia Semiconductor Inc","id58":"Virtium Technology Inc","id59":"Solid State System Co Ltd","id60":"Kian Tech LLC","id61":"Artimi","id62":"Power Quotient International","id63":"Avago Technologies","id64":"ADTechnology","id65":"Sigma Designs","id66":"SiCortex Inc","id67":"Ventura Technology Group","id68":"eASIC","id69":"M.H.S. SAS","id70":"Micro Star International","id71":"Rapport Inc","id72":"Makway International","id73":"Broad Reach Engineering Co","id74":"Semiconductor Mfg Intl Corp","id75":"SiConnect","id76":"FCI USA Inc","id77":"Validity Sensors","id78":"Coney Technology Co Ltd","id79":"Spans Logic","id80":"Neterion Inc","id81":"Qimonda","id82":"New Japan Radio Co Ltd","id83":"Velogix","id84":"Montalvo Systems","id85":"iVivity Inc","id86":"Walton Chaintech","id87":"AENEON","id88":"Lorom Industrial Co Ltd","id89":"Radiospire Networks","id90":"Sensio Technologies Inc","id91":"Nethra Imaging","id92":"Hexon Technology Pte Ltd","id93":"CompuStocx (CSX)","id94":"Methode Electronics Inc","id95":"Connect One Ltd","id96":"Opulan Technologies","id97":"Septentrio NV","id98":"Goldenmars Technology Inc","id99":"Kreton Corporation","id100":"Cochlear Ltd","id101":"Altair Semiconductor","id102":"NetEffect Inc","id103":"Spansion Inc","id104":"Taiwan Semiconductor Mfg","id105":"Emphany Systems Inc","id106":"ApaceWave Technologies","id107":"Mobilygen Corporation","id108":"Tego","id109":"Cswitch Corporation","id110":"Haier (Beijing) IC Design Co","id111":"MetaRAM","id112":"Axel Electronics Co Ltd","id113":"Tilera Corporation","id114":"Aquantia","id115":"Vivace Semiconductor","id116":"Redpine Signals","id117":"Octalica","id118":"InterDigital Communications","id119":"Avant Technology","id120":"Asrock Inc","id121":"Availink","id122":"Quartics Inc","id123":"Element CXI","id124":"Innovaciones Microelectronicas","id125":"VeriSilicon Microelectronics","id126":"W5 Networks"},"bank7":{"id1":"MOVEKING","id2":"Mavrix Technology Inc","id3":"CellGuide Ltd","id4":"Faraday Technology","id5":"Diablo Technologies Inc","id6":"Jennic","id7":"Octasic","id8":"Molex Incorporated","id9":"3Leaf Networks","id10":"Bright Micron Technology","id11":"Netxen","id12":"NextWave Broadband Inc","id13":"DisplayLink","id14":"ZMOS Technology","id15":"Tec-Hill","id16":"Multigig Inc","id17":"Amimon","id18":"Euphonic Technologies Inc","id19":"BRN Phoenix","id20":"InSilica","id21":"Ember Corporation","id22":"Avexir Technologies Corporation","id23":"Echelon Corporation","id24":"Edgewater Computer Systems","id25":"XMOS Semiconductor Ltd","id26":"GENUSION Inc","id27":"Memory Corp NV","id28":"SiliconBlue Technologies","id29":"Rambus Inc","id30":"Andes Technology Corporation","id31":"Coronis Systems","id32":"Achronix Semiconductor","id33":"Siano Mobile Silicon Ltd","id34":"Semtech Corporation","id35":"Pixelworks Inc","id36":"Gaisler Research AB","id37":"Teranetics","id38":"Toppan Printing Co Ltd","id39":"Kingxcon","id40":"Silicon Integrated Systems","id41":"I-O Data Device Inc","id42":"NDS Americas Inc","id43":"Solomon Systech Limited","id44":"On Demand Microelectronics","id45":"Amicus Wireless Inc","id46":"SMARDTV SNC","id47":"Comsys Communication Ltd","id48":"Movidia Ltd","id49":"Javad GNSS Inc","id50":"Montage Technology Group","id51":"Trident Microsystems","id52":"Super Talent","id53":"Optichron Inc","id54":"Future Waves UK Ltd","id55":"SiBEAM Inc","id56":"InicoreInc","id57":"Virident Systems","id58":"M2000 Inc","id59":"ZeroG Wireless Inc","id60":"Gingle Technology Co Ltd","id61":"Space Micro Inc","id62":"Wilocity","id63":"Novafora Inc","id64":"iKoa Corporation","id65":"ASint Technology","id66":"Ramtron","id67":"Plato Networks Inc","id68":"IPtronics AS","id69":"Infinite-Memories","id70":"Parade Technologies Inc","id71":"Dune Networks","id72":"GigaDevice Semiconductor","id73":"Modu Ltd","id74":"CEITEC","id75":"Northrop Grumman","id76":"XRONET Corporation","id77":"Sicon Semiconductor AB","id78":"Atla Electronics Co Ltd","id79":"TOPRAM Technology","id80":"Silego Technology Inc","id81":"Kinglife","id82":"Ability Industries Ltd","id83":"Silicon Power Computer & Communications","id84":"Augusta Technology Inc","id85":"Nantronics Semiconductors","id86":"Hilscher Gesellschaft","id87":"Quixant Ltd","id88":"Percello Ltd","id89":"NextIO Inc","id90":"Scanimetrics Inc","id91":"FS-Semi Company Ltd","id92":"Infinera Corporation","id93":"SandForce Inc","id94":"Lexar Media","id95":"Teradyne Inc","id96":"Memory Exchange Corp","id97":"Suzhou Smartek Electronics","id98":"Avantium Corporation","id99":"ATP Electronics Inc","id100":"Valens Semiconductor Ltd","id101":"Agate Logic Inc","id102":"Netronome","id103":"Zenverge Inc","id104":"N-trig Ltd","id105":"SanMax Technologies Inc","id106":"Contour Semiconductor Inc","id107":"TwinMOS","id108":"Silicon Systems Inc","id109":"V-Color Technology Inc","id110":"Certicom Corporation","id111":"JSC ICC Milandr","id112":"PhotoFast Global Inc","id113":"InnoDisk Corporation","id114":"Muscle Power","id115":"Energy Micro","id116":"Innofidei","id117":"CopperGate Communications","id118":"Holtek Semiconductor Inc","id119":"Myson Century Inc","id120":"FIDELIX","id121":"Red Digital Cinema","id122":"Densbits Technology","id123":"Zempro","id124":"MoSys","id125":"Provigent","id126":"Triad Semiconductor Inc"},"bank8":{"id1":"Siklu Communication Ltd","id2":"A Force Manufacturing Ltd","id3":"Strontium","id4":"ALi Corp (Abilis Systems)","id5":"Siglead Inc","id6":"Ubicom Inc","id7":"Unifosa Corporation","id8":"Stretch Inc","id9":"Lantiq Deutschland GmbH","id10":"Visipro.","id11":"EKMemory","id12":"Microelectronics Institute ZTE","id13":"u-blox AG","id14":"Carry Technology Co Ltd","id15":"Nokia","id16":"King Tiger Technology","id17":"Sierra Wireless","id18":"HT Micron","id19":"Albatron Technology Co Ltd","id20":"Leica Geosystems AG","id21":"BroadLight","id22":"AEXEA","id23":"ClariPhy Communications Inc","id24":"Green Plug","id25":"Design Art Networks","id26":"Mach Xtreme Technology Ltd","id27":"ATO Solutions Co Ltd","id28":"Ramsta","id29":"Greenliant Systems Ltd","id30":"Teikon","id31":"Antec Hadron","id32":"NavCom Technology Inc","id33":"Shanghai Fudan Microelectronics","id34":"Calxeda Inc","id35":"JSC EDC Electronics","id36":"Kandit Technology Co Ltd","id37":"Ramos Technology","id38":"Goldenmars Technology","id39":"XeL Technology Inc","id40":"Newzone Corporation","id41":"ShenZhen MercyPower Tech","id42":"Nanjing Yihuo Technology","id43":"Nethra Imaging Inc","id44":"SiTel Semiconductor BV","id45":"SolidGear Corporation","id46":"Topower Computer Ind Co Ltd","id47":"Wilocity","id48":"Profichip GmbH","id49":"Gerad Technologies","id50":"Ritek Corporation","id51":"Gomos Technology Limited","id52":"Memoright Corporation","id53":"D-Broad Inc","id54":"HiSilicon Technologies","id55":"Syndiant Inc.","id56":"Enverv Inc","id57":"Cognex","id58":"Xinnova Technology Inc","id59":"Ultron AG","id60":"Concord Idea Corporation","id61":"AIM Corporation","id62":"Lifetime Memory Products","id63":"Ramsway","id64":"Recore Systems B.V.","id65":"Haotian Jinshibo Science Tech","id66":"Being Advanced Memory","id67":"Adesto Technologies","id68":"Giantec Semiconductor Inc","id69":"HMD Electronics AG","id70":"Gloway International (HK)","id71":"Kingcore","id72":"Anucell Technology Holding","id73":"Accord Software & Systems Pvt. Ltd","id74":"Active-Semi Inc","id75":"Denso Corporation","id76":"TLSI Inc","id77":"Qidan","id78":"Mustang","id79":"Orca Systems","id80":"Passif Semiconductor","id81":"GigaDevice Semiconductor (Beijing) Inc","id82":"Memphis Electronic","id83":"Beckhoff Automation GmbH","id84":"Harmony Semiconductor Corp","id85":"Air Computers SRL","id86":"TMT Memory","id87":"Eorex Corporation","id88":"Xingtera","id89":"Netsol","id90":"Bestdon Technology Co Ltd","id91":"Baysand Inc","id92":"Uroad Technology Co Ltd","id93":"Wilk Elektronik S.A.","id94":"AAI","id95":"Harman","id96":"Berg Microelectronics Inc","id97":"ASSIA Inc","id98":"Visiontek Products LLC","id99":"OCMEMORY","id100":"Welink Solution Inc","id101":"Shark Gaming","id102":"Avalanche Technology","id103":"R&D Center ELVEES OJSC","id104":"KingboMars Technology Co Ltd","id105":"High Bridge Solutions Industria Eletronica","id106":"Transcend Technology Co Ltd","id107":"Everspin Technologies","id108":"Hon-Hai Precision","id109":"Smart Storage Systems","id110":"Toumaz Group","id111":"Zentel Electronics Corporation","id112":"Panram International Corporation","id113":"Silicon Space Technology","id114":"LITE-ON IT Corporation","id115":"Inuitive","id116":"HMicro","id117":"BittWare Inc","id118":"GLOBALFOUNDRIES","id119":"ACPI Digital Co Ltd","id120":"Annapurna Labs","id121":"AcSiP Technology Corporation","id122":"Idea! Electronic Systems","id123":"Gowe Technology Co Ltd","id124":"Hermes Testing Solutions Inc","id125":"Positivo BGH","id126":"Intelligence Silicon Technology"},"bank9":{"id1":"3D PLUS","id2":"Diehl Aerospace","id3":"Fairchild","id4":"Mercury Systems","id5":"Sonics Inc","id6":"Emerson Machine Automation","id7":"Shenzhen Jinge Information Co Ltd","id8":"SCWW","id9":"Silicon Motion Inc","id10":"Anurag","id11":"King Kong","id12":"FROM30 Co Ltd","id13":"Gowin Semiconductor Corp","id14":"Fremont Micro Devices Ltd","id15":"Ericsson Modems","id16":"Exelis","id17":"Satixfy Ltd","id18":"Galaxy Microsystems Ltd","id19":"Gloway International Co Ltd","id20":"Lab","id21":"Smart Energy Instruments","id22":"Approved Memory Corporation","id23":"Axell Corporation","id24":"Essencore Limited","id25":"Phytium","id26":"Xi\u2019an UnilC Semiconductors Co Ltd","id27":"Ambiq Micro","id28":"eveRAM Technology Inc","id29":"Infomax","id30":"Butterfly Network Inc","id31":"Shenzhen City Gcai Electronics","id32":"Stack Devices Corporation","id33":"ADK Media Group","id34":"TSP Global Co Ltd","id35":"HighX","id36":"Shenzhen Elicks Technology","id37":"ISSI\/Chingis","id38":"Google Inc","id39":"Dasima International Development","id40":"Leahkinn Technology Limited","id41":"HIMA Paul Hildebrandt GmbH Co KG","id42":"Keysight Technologies","id43":"Techcomp International (Fastable)","id44":"Ancore Technology Corporation","id45":"Nuvoton","id46":"Korea Uhbele International Group Ltd","id47":"Ikegami Tsushinki Co Ltd","id48":"RelChip Inc","id49":"Baikal Electronics","id50":"Nemostech Inc","id51":"Memorysolution GmbH","id52":"Silicon Integrated Systems Corporation","id53":"Xiede","id54":"BRC","id55":"Flash Chi","id56":"Jone","id57":"GCT Semiconductor Inc","id58":"Hong Kong Zetta Device Technology","id59":"Unimemory Technology(s) Pte Ltd","id60":"Cuso","id61":"Kuso","id62":"Uniquify Inc","id63":"Skymedi Corporation","id64":"Core Chance Co Ltd","id65":"Tekism Co Ltd","id66":"Seagate Technology PLC","id67":"Hong Kong Gaia Group Co Limited","id68":"Gigacom Semiconductor LLC","id69":"V2 Technologies","id70":"TLi","id71":"Neotion","id72":"Lenovo","id73":"Shenzhen Zhongteng Electronic Corp Ltd","id74":"Compound Photonics","id75":"in2H2 inc","id76":"Shenzhen Pango Microsystems Co Ltd","id77":"Vasekey","id78":"Cal-Comp Industria de Semicondutores","id79":"Eyenix Co Ltd","id80":"Heoriady","id81":"Accelerated Memory Production Inc","id82":"INVECAS Inc","id83":"AP Memory","id84":"Douqi Technology","id85":"Etron Technology Inc","id86":"Indie Semiconductor","id87":"Socionext Inc","id88":"HGST","id89":"EVGA","id90":"Audience Inc","id91":"EpicGear","id92":"Vitesse Enterprise Co","id93":"Foxtronn International Corporation","id94":"Bretelon Inc","id95":"Graphcore","id96":"Eoplex Inc","id97":"MaxLinear Inc","id98":"ETA Devices","id99":"LOKI","id100":"IMS Electronics Co Ltd","id101":"Dosilicon Co Ltd","id102":"Dolphin Integration","id103":"Shenzhen Mic Electronics Technolog","id104":"Boya Microelectronics Inc","id105":"Geniachip (Roche)","id106":"Axign","id107":"Kingred Electronic Technology Ltd","id108":"Chao Yue Zhuo Computer Business Dept.","id109":"Guangzhou Si Nuo Electronic Technology.","id110":"Crocus Technology Inc","id111":"Creative Chips GmbH","id112":"GE Aviation Systems LLC.","id113":"Asgard","id114":"Good Wealth Technology Ltd","id115":"TriCor Technologies","id116":"Nova-Systems GmbH","id117":"JUHOR","id118":"Zhuhai Douke Commerce Co Ltd","id119":"DSL Memory","id120":"Anvo-Systems Dresden GmbH","id121":"Realtek","id122":"AltoBeam","id123":"Wave Computing","id124":"Beijing TrustNet Technology Co Ltd","id125":"Innovium Inc","id126":"Starsway Technology Limited"},"bank10":{"id1":"Weltronics Co LTD","id2":"VMware Inc","id3":"Hewlett Packard Enterprise","id4":"INTENSO","id5":"Puya Semiconductor","id6":"MEMORFI","id7":"MSC Technologies GmbH","id8":"Txrui","id9":"SiFive Inc","id10":"Spreadtrum Communications","id11":"XTX Technology Limited","id12":"UMAX Technology","id13":"Shenzhen Yong Sheng Technology","id14":"SNOAMOO (Shenzhen Kai Zhuo Yue)","id15":"Daten Tecnologia LTDA","id16":"Shenzhen XinRuiYan Electronics","id17":"Eta Compute","id18":"Energous","id19":"Raspberry Pi Trading Ltd","id20":"Shenzhen Chixingzhe Tech Co Ltd","id21":"Silicon Mobility","id22":"IQ-Analog Corporation","id23":"Uhnder Inc","id24":"Impinj","id25":"DEPO Computers","id26":"Nespeed Sysems","id27":"Yangtze Memory Technologies Co Ltd","id28":"MemxPro Inc","id29":"Tammuz Co Ltd","id30":"Allwinner Technology","id31":"Shenzhen City Futian District Qing Xuan Tong Computer Trading Firm","id32":"XMC","id33":"Teclast","id34":"Maxsun","id35":"Haiguang Integrated Circuit Design","id36":"RamCENTER Technology","id37":"Phison Electronics Corporation","id38":"Guizhou Huaxintong Semi-Conductor","id39":"Network Intelligence","id40":"Continental Technology (Holdings)","id41":"Guangzhou Huayan Suning Electronic","id42":"Guangzhou Zhouji Electronic Co Ltd","id43":"Shenzhen Giant Hui Kang Tech Co Ltd","id44":"Shenzhen Yilong Innovative Co Ltd","id45":"Neo Forza","id46":"Lyontek Inc","id47":"Shanghai Kuxin Microelectronics Ltd","id48":"Shenzhen Larix Technology Co Ltd","id49":"Qbit Semiconductor Ltd","id50":"Insignis Technology Corporation","id51":"Lanson Memory Co Ltd","id52":"Shenzhen Superway Electronics Co Ltd","id53":"Canaan-Creative Co Ltd","id54":"Black Diamond Memory","id55":"Shenzhen City Parker Baking Electronics","id56":"Shenzhen Baihong Technology Co Ltd","id57":"GEO Semiconductors","id58":"OCPC","id59":"Artery Technology Co Ltd","id60":"Jinyu","id61":"ShenzhenYing Chi Technology Development","id62":"Shenzhen Pengcheng Xin Technology","id63":"Pegasus Semiconductor (Shanghai) Co","id64":"Mythic Inc","id65":"Elmos Semiconductor AG","id66":"Kllisre","id67":"Shenzhen Winconway Technology","id68":"Shenzhen Xingmem Technology Corp","id69":"Gold Key Technology Co Ltd","id70":"Habana Labs Ltd","id71":"Hoodisk Electronics Co Ltd","id72":"SemsoTai (SZ) Technology Co Ltd","id73":"OM Nanotech Pvt. Ltd","id74":"Shenzhen Zhifeng Weiye Technology","id75":"Xinshirui (Shenzhen) Electronics Co","id76":"Guangzhou Zhong Hao Tian Electronic","id77":"Shenzhen Longsys Electronics Co Ltd","id78":"Deciso B.V.","id79":"Puya Semiconductor (Shenzhen)","id80":"Shenzhen Veineda Technology Co Ltd","id81":"Antec Memory","id82":"Cortus SAS","id83":"Dust Leopard","id84":"MyWo AS","id85":"J&A Information Inc","id86":"Shenzhen JIEPEI Technology Co Ltd","id87":"Heidelberg University","id88":"Flexxon PTE Ltd","id89":"Wiliot","id90":"Raysun Electronics International Ltd","id91":"Aquarius Production Company LLC","id92":"MACNICA DHW LTDA","id93":"Intelimem","id94":"Zbit Semiconductor Inc","id95":"Shenzhen Technology Co Ltd","id96":"Signalchip","id97":"Shenzen Recadata Storage Technology","id98":"Hyundai Technology","id99":"Shanghai Fudi Investment Development","id100":"Aixi Technology","id101":"Tecon MT","id102":"Onda Electric Co Ltd","id103":"Jinshen","id104":"Kimtigo Semiconductor (HK) Limited","id105":"IIT Madras","id106":"Shenshan (Shenzhen) Electronic","id107":"Hefei Core Storage Electronic Limited","id108":"Colorful Technology Ltd","id109":"Visenta (Xiamen) Technology Co Ltd","id110":"Roa Logic BV","id111":"NSITEXE Inc","id112":"Hong Kong Hyunion Electronics","id113":"ASK Technology Group Limited","id114":"GIGA-BYTE Technology Co Ltd","id115":"Terabyte Co Ltd","id116":"Hyundai Inc","id117":"EXCELERAM","id118":"PsiKick","id119":"Netac Technology Co Ltd","id120":"PCCOOLER","id121":"Jiangsu Huacun Electronic Technology","id122":"Shenzhen Micro Innovation Industry","id123":"Beijing Tongfang Microelectronics Co","id124":"XZN Storage Technology","id125":"ChipCraft Sp. z.o.o.","id126":"ALLFLASH Technology Limited"},"bank11":{"id1":"Foerd Technology Co Ltd","id2":"KingSpec","id3":"Codasip Ltd","id4":"SL Link Co Ltd","id5":"Shenzhen Kefu Technology Co Limited","id6":"Shenzhen ZST Electronics Technology","id7":"Kyokuto Electronic Inc","id8":"Warrior Technology","id9":"TRINAMIC Motion Control GmbH & Co","id10":"PixelDisplay Inc","id11":"Shenzhen Futian District Bo Yueda Elec","id12":"Richtek Power","id13":"Shenzhen LianTeng Electronics Co Ltd","id14":"AITC Memory","id15":"UNIC Memory Technology Co Ltd","id16":"Shenzhen Huafeng Science Technology","id17":"ChangXin Memory Technologies Inc","id18":"Guangzhou Xinyi Heng Computer Trading Firm","id19":"SambaNova Systems","id20":"V-GEN","id21":"Jump Trading","id22":"Ampere Computing","id23":"Shenzhen Zhongshi Technology Co Ltd","id24":"Shenzhen Zhongtian Bozhong Technology","id25":"Tri-Tech International","id26":"Silicon Intergrated Systems Corporation","id27":"Shenzhen HongDingChen Information","id28":"Plexton Holdings Limited","id29":"AMS (Jiangsu Advanced Memory Semi)","id30":"Wuhan Jing Tian Interconnected Tech Co","id31":"Axia Memory Technology","id32":"Chipset Technology Holding Limited","id33":"Shenzhen Xinshida Technology Co Ltd","id34":"Shenzhen Chuangshifeida Technology","id35":"Guangzhou MiaoYuanJi Technology","id36":"ADVAN Inc","id37":"Shenzhen Qianhai Weishengda Electronic Commerce Company Ltd","id38":"Guangzhou Guang Xie Cheng Trading","id39":"StarRam International Co Ltd","id40":"Shen Zhen XinShenHua Tech Co Ltd","id41":"UltraMemory Inc","id42":"New Coastline Global Tech Industry Co","id43":"Sinker","id44":"Diamond","id45":"PUSKILL","id46":"Guangzhou Hao Jia Ye Technology Co","id47":"Ming Xin Limited","id48":"Barefoot Networks","id49":"Biwin Semiconductor (HK) Co Ltd","id50":"UD INFO Corporation","id51":"Trek Technology (S) PTE Ltd","id52":"Xiamen Kingblaze Technology Co Ltd","id53":"Shenzhen Lomica Technology Co Ltd","id54":"Nuclei System Technology Co Ltd","id55":"Wuhan Xun Zhan Electronic Technology","id56":"Shenzhen Ingacom Semiconductor Ltd","id57":"Zotac Technology Ltd","id58":"Foxline","id59":"Shenzhen Farasia Science Technology","id60":"Efinix Inc","id61":"Hua Nan San Xian Technology Co Ltd","id62":"Goldtech Electronics Co Ltd","id63":"Shanghai Han Rong Microelectronics Co","id64":"Shenzhen Zhongguang Yunhe Trading","id65":"Smart Shine(QingDao) Microelectronics","id66":"Thermaltake Technology Co Ltd","id67":"Shenzhen O\u2019Yang Maile Technology Ltd","id68":"UPMEM","id69":"Chun Well Technology Holding Limited","id70":"Astera Labs Inc","id71":"VMEMORY Co Ltd","id72":"Advantech Co Ltd","id73":"Chengdu Fengcai Electronic Technology","id74":"The Boeing Company","id75":"ThinCI Inc","id76":"Ramonster Technology Co Ltd","id77":"Wuhan Naonongmai Technology Co Ltd","id78":"Shenzhen Hui ShingTong Technology","id79":"Yourlyon","id80":"Fabu Technology","id81":"Shenzhen Yikesheng Technology Co Ltd","id82":"NOR-MEM","id83":"Cervoz Co Ltd","id84":"Bitmain Technologies Inc.","id85":"Facebook Inc","id86":"Shenzhen Longsys Electronics Co Ltd","id87":"Guangzhou Siye Electronic Technology","id88":"Silergy","id89":"Adamway","id90":"PZG","id91":"Shenzhen King Power Electronics","id92":"Guangzhou ZiaoFu Tranding Co Ltd","id93":"Shenzhen SKIHOTAR Semiconductor","id94":"PulseRain Technology","id95":"Seeker Technology Limited","id96":"Shenzhen OSCOO Tech Co Ltd","id97":"Shenzhen Yze Technology Co Ltd","id98":"Shenzhen Jieshuo Electronic Commerce","id99":"Gazda","id100":"Hua Wei Technology Co Ltd","id101":"Esperanto Technologies","id102":"JinSheng Electronic (Shenzhen) Co Ltd","id103":"Shenzhen Shi Bolunshuai Technology","id104":"Shanghai Rei Zuan Information Tech","id105":"Fraunhofer IIS","id106":"Kandou Bus SA","id107":"Acer","id108":"Artmem Technology Co Ltd","id109":"Gstar Semiconductor Co Ltd","id110":"ShineDisk","id111":"Shenzhen CHN Technology Co Ltd","id112":"UnionChip Semiconductor Co Ltd","id113":"Tanbassh","id114":"Shenzhen Tianyu Jieyun Intl Logistics","id115":"MCLogic Inc","id116":"Eorex Corporation","id117":"Arm Technology (China) Co Ltd","id118":"Lexar Co Limited","id119":"QinetiQ Group plc","id120":"Exascend"}} \ No newline at end of file
diff --git a/modules-available/statistics/inc/parser.inc.php b/modules-available/statistics/inc/parser.inc.php
index be9300f4..d92285b6 100644
--- a/modules-available/statistics/inc/parser.inc.php
+++ b/modules-available/statistics/inc/parser.inc.php
@@ -17,11 +17,16 @@ class Parser {
$section = false;
$ramOk = false;
$ramForm = $ramType = $ramSpeed = $ramClockSpeed = false;
+ $ramslot = [];
foreach ($lines as $line) {
if (empty($line)) {
continue;
}
if ($line{0} !== "\t" && $line{0} !== ' ') {
+ if (isset($ramslot['size'])) {
+ $row['ramslot'][] = $ramslot;
+ $ramslot = [];
+ }
$section = $line;
$ramOk = false;
if (($ramForm || $ramType) && ($ramSpeed || $ramClockSpeed)) {
@@ -77,11 +82,14 @@ class Parser {
$out[2] = 'G';
$out[1] = floor(($out[1] + 100) / 1024);
}
- $row['ramslot'][]['size'] = $out[1] . ' ' . strtoupper($out[2]) . 'iB';
+ $ramslot['size'] = $out[1] . ' ' . strtoupper($out[2]) . 'iB';
} elseif (!isset($row['ramslot']) || (count($row['ramslot']) < 8 && (!isset($row['ramslotcount']) || $row['ramslotcount'] <= 8))) {
- $row['ramslot'][]['size'] = '_____';
+ $ramslot['size'] = '_____';
}
}
+ if (preg_match('/^\s*Manufacturer:\s*(.*?)\s*$/i', $line, $out) && $out[1] !== 'Unknown') {
+ $ramslot['manuf'] = self::decodeJedec($out[1]);
+ }
if (preg_match('/^\s*Form Factor:\s*(.*?)\s*$/i', $line, $out) && $out[1] !== 'Unknown') {
$ramForm = $out[1];
}
@@ -91,7 +99,7 @@ class Parser {
if (preg_match('/^\s*Speed:\s*(\d.*?)\s*$/i', $line, $out)) {
$ramSpeed = $out[1];
}
- if (preg_match('/^\s*Configured Clock Speed:\s*(\d.*?)\s*$/i', $line, $out)) {
+ if (preg_match('/^\s*Configured (Clock|Memory) Speed:\s*(\d.*?)\s*$/i', $line, $out)) {
$ramClockSpeed = $out[1];
}
} elseif ($section === 'BIOS Information') {
@@ -340,4 +348,26 @@ class Parser {
}
}
+ public static function decodeJedec($string)
+ {
+ // JEDEC ID:7F 7F 9E 00 00 00 00 00
+ if (preg_match('/JEDEC(?:\s*ID)?\s*:\s*([0-9a-f\s]+)/i', $string, $out)) {
+ preg_match_all('/[0-9a-f]{2}/i', $out[1], $out);
+ $bank = 0;
+ foreach ($out[0] as $id) {
+ $bank++;
+ $id = hexdec($id) & 0x7f; // Let's just ignore the parity bit, and any potential error
+ if ($id !== 0x7f)
+ break;
+ }
+ if ($id !== 0) {
+ static $data = false;
+ if ($data === false) $data = json_decode(file_get_contents(dirname(__FILE__) . '/jedec.json'), true);
+ if (array_key_exists('bank' . $bank, $data) && array_key_exists('id' . $id, $data['bank' . $bank]))
+ return $data['bank' . $bank]['id' . $id];
+ }
+ }
+ return $string;
+ }
+
}
diff --git a/modules-available/statistics/page.inc.php b/modules-available/statistics/page.inc.php
index c5da85fe..505fdf9a 100644
--- a/modules-available/statistics/page.inc.php
+++ b/modules-available/statistics/page.inc.php
@@ -722,7 +722,7 @@ class Page_Statistics extends Page
$row['lastseen_int'] = $row['lastseen'];
$row['lastseen'] = Util::prettyTime($row['lastseen']);
//$row['lastboot'] = Util::prettyTime($row['lastboot']);
- $row['gbram'] = round(round($row['mbram'] / 500) / 2, 1); // Trial and error until we got "expected" rounding..
+ $row['gbram'] = round(ceil($row['mbram'] / 512) / 2, 1); // Trial and error until we got "expected" rounding..
$row['gbtmp'] = round($row['id44mb'] / 1024);
$octets = explode('.', $row['clientip']);
if (count($octets) === 4) {
diff --git a/modules-available/statistics/templates/machine-main.html b/modules-available/statistics/templates/machine-main.html
index 12f1d4c5..86f6349a 100644
--- a/modules-available/statistics/templates/machine-main.html
+++ b/modules-available/statistics/templates/machine-main.html
@@ -247,7 +247,7 @@
<td>
{{ramslotcount}}:
{{#ramslot}}
- [ {{size}} ]
+ [ <span title="{{manuf}}">{{size}}</span> ]
{{/ramslot}}
</td>
</tr>
diff --git a/tools/jedec.php b/tools/jedec.php
new file mode 100644
index 00000000..a4df9667
--- /dev/null
+++ b/tools/jedec.php
@@ -0,0 +1,35 @@
+<?php
+
+/*
+ * Very cheap script to convert the jedec database from a text dump of the
+ * official PDF to json. The regex abomination below has been kicked until
+ * it worked on the version that was current as of April 2019. YMMV.
+ * For input, download the PDF from https://www.jedec.org/system/files/docs/JEP106AY.pdf
+ * and then copy/paste the contents into a plain text file called 'jedec'
+ * (And pray it doesn't break if you don't use exactly the same PDF viewer and
+ * text editor as I did - pdf.js and vim)
+ */
+
+$last = 0;
+$index = 1;
+$line = file_get_contents('jedec');
+preg_match_all("/^\s*([1-9][0-9]?|1[01][0-9]|12[0-6])\s+([^\r\n]{2,9}(?:[a-z][^\r\n]{0,10}){1,3}[\r\n]?[^\r\n0]{0,31})(?:\s*[\r\n]\s|\s+)((?:[10]\s+){8})([0-9a-f]{2})\s*\$/sim", $line, $oout, PREG_SET_ORDER);
+$output = [];
+foreach ($oout as $out) {
+ $id = (int)$out[1];
+ $name = preg_replace("/[\s\r\n]+/ms", ' ', $out[2]);
+ $bin = $out[3];
+ $hex = $out[4];
+ if ($id < $last) {
+ $index++;
+ echo "Now at bank $index\n";
+ } elseif ($id > $last + 1) {
+ echo "Skipped from $last to $id (THIS SHOULD NEVER HAPPEN)\n";
+ }
+ //echo "$id = $name ($bin) ($hex)\n";
+ $last = $id;
+ $output['bank' . $index]['id' . $id] = $name;
+}
+
+file_put_contents('jedec.json', json_encode($output));
+