FRI
FRI2 aka "fish-river-island-2" is an Intel platform used in Kontron km2m806-02 product designed for IoT/M2M applications.
Community documentation in progress here
Contents
Reference
model# km2m806-02
- http://www.kontron.com/downloads/datasheet/datasheet_m2m.pdf
- http://www.kontron.com/downloads/manual/kontronm2musermanualr9-20.pdf?product=89474
- http://www.kontron.com/landingpages/m2m/videos
Intel Development Toolkit for Data Gateways :
- http://www.intel.com/content/dam/www/public/us/en/documents/manuals/development-toolkit-data-gateways-manual.pdf
- http://www.intel.com/datagatewaydevkit
- http://ark.intel.com/products/52501/Intel-EG20T-PCH
Hardware
http://imgur.com/gallery/3gGeU/
[root@localhost ~]# /sbin/lspci -knn 00:00.0 Host bridge [0600]: Intel Corporation Tunnel Creek PCI Host Bridge #2 [8086:4115] (rev 05) 00:01.0 Host bridge [0600]: Intel Corporation Tunnel Creek Configuration Unit [8086:8183] (rev 02) Subsystem: Kontron Device [1059:4051] 00:02.0 VGA compatible controller [0300]: Intel Corporation Tunnel Creek Integrated Graphics Controller [8086:4108] (rev 05) 00:03.0 Multimedia video controller [0400]: Intel Corporation Tunnel Creek Integrated Graphics Controller [8086:8182] (rev 02) Subsystem: Kontron Device [1059:4051] 00:17.0 PCI bridge [0604]: Intel Corporation Tunnel Creek PCI Express Port 1 [8086:8184] (rev 02) Kernel driver in use: pcieport 00:18.0 PCI bridge [0604]: Intel Corporation Tunnel Creek PCI Express Port 2 [8086:8185] (rev 02) Kernel driver in use: pcieport 00:19.0 PCI bridge [0604]: Intel Corporation Tunnel Creek PCI Express Port 3 [8086:8180] (rev 02) Kernel driver in use: pcieport 00:1a.0 PCI bridge [0604]: Intel Corporation Tunnel Creek PCI Express Port 4 [8086:8181] (rev 02) Kernel driver in use: pcieport 00:1b.0 Audio device [0403]: Intel Corporation System Controller Hub (SCH Poulsbo) HD Audio Controller [8086:811b] (rev 02) Subsystem: Kontron Device [1059:4051] 00:1f.0 ISA bridge [0601]: Intel Corporation Tunnel Creek LPC Bridge [8086:8186] (rev 02) Subsystem: Kontron Device [1059:4051] Kernel driver in use: lpc_sch 01:00.0 Network controller [0280]: Intel Corporation 6000 Series Gen2 [8086:0082] (rev 34) Subsystem: Intel Corporation Device [8086:1301] 04:00.0 PCI bridge [0604]: Intel Corporation Topcliff PCI Express Port [8086:8800] (rev 01) 05:00.0 Class [ff00]: Intel Corporation Topcliff Packet Hub [8086:8801] (rev 01) Kernel driver in use: pch_phub 05:00.1 Ethernet controller [0200]: Intel Corporation Topcliff Gigabit Ethernet Controller [8086:8802] (rev 02) Subsystem: Kontron Device [1059:4051] Kernel driver in use: pch_gbe 05:00.2 Class [ff00]: Intel Corporation Topcliff General Purpose IO Controller [8086:8803] (rev 01) Subsystem: Kontron Device [1059:4051] Kernel driver in use: pch_gpio 05:02.0 USB Controller [0c03]: Intel Corporation Topcliff USB OHCI Controller #4 [8086:8804] (rev 02) Subsystem: Kontron Device [1059:4051] Kernel driver in use: ohci_hcd 05:02.1 USB Controller [0c03]: Intel Corporation Topcliff USB OHCI Controller #5 [8086:8805] (rev 02) Subsystem: Kontron Device [1059:4051] Kernel driver in use: ohci_hcd 05:02.2 USB Controller [0c03]: Intel Corporation Topcliff USB OHCI Controller #6 [8086:8806] (rev 02) Subsystem: Kontron Device [1059:4051] Kernel driver in use: ohci_hcd 05:02.3 USB Controller [0c03]: Intel Corporation Topcliff USB2 EHCI Controller #2 [8086:8807] (rev 02) Subsystem: Kontron Device [1059:4051] Kernel driver in use: ehci_hcd 05:02.4 USB Controller [0c03]: Intel Corporation Topcliff USB Client Controller [8086:8808] (rev 02) Subsystem: Kontron Device [1059:4051] Kernel driver in use: pch_udc 05:04.0 SD Host controller [0805]: Intel Corporation Topcliff SDIO Controller #1 [8086:8809] (rev 01) Subsystem: Kontron Device [1059:4051] Kernel driver in use: sdhci-pci 05:04.1 SD Host controller [0805]: Intel Corporation Topcliff SDIO Controller #2 [8086:880a] (rev 01) Subsystem: Kontron Device [1059:4051] Kernel driver in use: sdhci-pci 05:06.0 SATA controller [0106]: Intel Corporation Topcliff SATA AHCI Controller [8086:880b] (rev 02) Kernel driver in use: ahci 05:08.0 USB Controller [0c03]: Intel Corporation Topcliff USB OHCI Controller #1 [8086:880c] (rev 02) Subsystem: Kontron Device [1059:4051] Kernel driver in use: ohci_hcd 05:08.1 USB Controller [0c03]: Intel Corporation Topcliff USB OHCI Controller #2 [8086:880d] (rev 02) Subsystem: Kontron Device [1059:4051] Kernel driver in use: ohci_hcd 05:08.2 USB Controller [0c03]: Intel Corporation Topcliff USB OHCI Controller #3 [8086:880e] (rev 02) Subsystem: Kontron Device [1059:4051] Kernel driver in use: ohci_hcd 05:08.3 USB Controller [0c03]: Intel Corporation Topcliff USB2 EHCI Controller #1 [8086:880f] (rev 02) Subsystem: Kontron Device [1059:4051] Kernel driver in use: ehci_hcd 05:0a.0 Class [ff00]: Intel Corporation Topcliff DMA Controller #1 [8086:8810] Subsystem: Kontron Device [1059:4051] Kernel driver in use: pch-dma 05:0a.1 Serial controller [0700]: Intel Corporation Topcliff UART Controller 0 [8086:8811] (rev 01) Subsystem: Kontron Device [1059:4051] Kernel driver in use: pch_uart 05:0a.2 Serial controller [0700]: Intel Corporation Topcliff UART Controller 1 [8086:8812] Subsystem: Kontron Device [1059:4051] Kernel driver in use: pch_uart 05:0a.3 Serial controller [0700]: Intel Corporation Topcliff UART Controller 2 [8086:8813] Subsystem: Kontron Device [1059:4051] Kernel driver in use: pch_uart 05:0a.4 Serial controller [0700]: Intel Corporation Topcliff UART Controller 3 [8086:8814] Subsystem: Kontron Device [1059:4051] Kernel driver in use: pch_uart 05:0c.0 Class [ff00]: Intel Corporation Topcliff DMA Controller #2 [8086:8815] Subsystem: Kontron Device [1059:4051] Kernel driver in use: pch-dma 05:0c.1 Serial bus controller [0c80]: Intel Corporation Topcliff Serial Peripheral Interface Bus [8086:8816] Subsystem: Kontron Device [1059:4051] 05:0c.2 Serial bus controller [0c80]: Intel Corporation Topcliff I2C Controller [8086:8817] Subsystem: Kontron Device [1059:4051] 05:0c.3 CANBUS [0c09]: Intel Corporation Topcliff Controller Area Network (CAN) Controller [8086:8818] Subsystem: Kontron Device [1059:4051] 05:0c.4 Class [ff00]: Intel Corporation Topcliff IEEE 1588 Hardware Assist [8086:8819] (rev 01) Subsystem: Kontron Device [1059:4051]
Graphics : Intel GMA500 (PowerVR based)
CPU
processor : 1 vendor_id : GenuineIntel cpu family : 6 model : 38 model name : Intel(R) Atom(TM) CPU E620 @ 600MHz
IS x86_64 capable :
grep -o -w 'lm' /proc/cpuinfo | sort -u lm
* http://ark.intel.com/products/52491/Intel-Atom-Processor-E620-512K-Cache-600-MHz
Modem
[root@localhost ~]# for n in `ls /sys/class/*/*{ACM,wdm,usb0}*/device/interface`;do echo $(echo $n|awk -F '/' '{print $5}') : $(cat $n);done usb0 : F5521gw Mobile Broadband Network Adapter ttyACM0 : F5521gw Mobile Broadband Modem ttyACM1 : F5521gw Mobile Broadband Data Modem ttyACM2 : F5521gw Mobile Broadband GPS Port cdc-wdm0 : F5521gw Mobile Broadband Device Management cdc-wdm1 : F5521gw Mobile Broadband USIM Port
WiFi
CAN
Intel®Platform Controller Hub EG20T
The CAN controller performs communication in accordance with the BOSCH CAN Protocol Version 2.0B
To connect the CAN controller module to the CAN bus, it is necessary to add transceiver hardware
Radio
System-on-Chip Solution for IEEE 802.15.4 and ZigBee Applications
http://www.ti.com/product/CC2531
BIOS
Kontron Version 2.13.1215. Copyright (C) 2011 American Megatrends, Inc. Kontron Version FRI2R102.003.KAI, 02/28/2012 17:45:46
YouTube video of default bios settings: http://youtu.be/IzYVjXmAlZ8 a few settings are missing but we can assume reset to default is same.
FirmWare supports 2 modes :
- Legacy (MSDOS)
- UEFI (GPT)
Preinstalled LUbuntu precise boots from USB disk in legacy mode ... unsure about later versions.
Software : TODO
- Fedora : FC12 seems supported
- WindRiver Linux eval supported (need more infos)
- Yocto : http://git.yoctoproject.org/cgit/cgit.cgi/meta-intel/tree/meta-fri2/README?h=fido
- Tizen : Planned please contact User:RzR if you want hints
Software : Kontron release 14 (Fedora based)
[root@localhost ~]# cat "/home/kontron/Desktop/USER Info" Passwords: kontron password root kontron cat /proc/version Linux version 3.2.22-5.M2M.recovery.fc14.i686 (mockbuild@server) (gcc version 4.5.1 20100924 (Red Hat 4.5.1-4) (GCC) ) #1 SMP Mon Nov 19 17:46:20 MSK 2012 /sbin/lsmod Module Size Used by emgd 468325 - scsi_wait_scan 447 - zgrep CONFIG_FB /proc/config.gz | grep -v '#' CONFIG_FB=y CONFIG_FB_BOOT_VESA_SUPPORT=y CONFIG_FB_CFB_FILLRECT=y CONFIG_FB_CFB_COPYAREA=y CONFIG_FB_CFB_IMAGEBLIT=y CONFIG_FB_SYS_FILLRECT=y CONFIG_FB_SYS_COPYAREA=y CONFIG_FB_SYS_IMAGEBLIT=y CONFIG_FB_SYS_FOPS=y CONFIG_FB_MODE_HELPERS=y CONFIG_FB_TILEBLITTING=y CONFIG_FB_CIRRUS=y CONFIG_FB_VGA16=y CONFIG_FB_VESA=y CONFIG_FB_VIRTUAL=y less /var/log/messages Apr 26 03:23:16 localhost kernel: imklog 4.6.3, log source = /proc/kmsg started. Apr 26 03:23:16 localhost rsyslogd: [origin software="rsyslogd" swVersion="4.6.3" x-pid="869" x-info="http://www.rsyslog.com"] (re)start Apr 26 03:23:16 localhost kernel: [ 0.000000] Initializing cgroup subsys cpuset Apr 26 03:23:16 localhost kernel: [ 0.000000] Initializing cgroup subsys cpu Apr 26 03:23:16 localhost kernel: [ 0.000000] Linux version 3.2.22-10.M2M.fc14.i686 (mockbuild@server) (gcc version 4.5.1 20100924 (Red Hat 4.5.1-4) (GCC) ) #1 SMP Fri Dec 21 17:28:43 MSK 2 012 Apr 26 03:23:16 localhost kernel: [ 0.000000] Disabled fast string operations Apr 26 03:23:16 localhost kernel: [ 0.000000] BIOS-provided physical RAM map: Apr 26 03:23:16 localhost kernel: [ 0.000000] BIOS-e820: 0000000000000000 - 000000000009e000 (usable) Apr 26 03:23:16 localhost kernel: [ 0.000000] BIOS-e820: 000000000009e000 - 00000000000a0000 (reserved) Apr 26 03:23:16 localhost kernel: [ 0.000000] BIOS-e820: 00000000000e0000 - 0000000000100000 (reserved) Apr 26 03:23:16 localhost kernel: [ 0.000000] BIOS-e820: 0000000000100000 - 000000003f564000 (usable) Apr 26 03:23:16 localhost kernel: [ 0.000000] BIOS-e820: 000000003f564000 - 000000003f5b5000 (ACPI NVS) Apr 26 03:23:16 localhost kernel: [ 0.000000] BIOS-e820: 000000003f5b5000 - 000000003f5dd000 (reserved) Apr 26 03:23:16 localhost kernel: [ 0.000000] BIOS-e820: 000000003f5dd000 - 000000003f5de000 (usable) Apr 26 03:23:16 localhost kernel: [ 0.000000] BIOS-e820: 000000003f5de000 - 000000003f5e6000 (reserved) Apr 26 03:23:16 localhost kernel: [ 0.000000] BIOS-e820: 000000003f5e6000 - 000000003f5f3000 (ACPI NVS) Apr 26 03:23:16 localhost kernel: [ 0.000000] BIOS-e820: 000000003f5f3000 - 000000003f618000 (reserved) Apr 26 03:23:16 localhost kernel: [ 0.000000] BIOS-e820: 000000003f618000 - 000000003f6f0000 (usable) Apr 26 03:23:16 localhost kernel: [ 0.000000] BIOS-e820: 000000003f6f0000 - 0000000040000000 (reserved) Apr 26 03:23:16 localhost kernel: [ 0.000000] BIOS-e820: 00000000fec00000 - 00000000fec86000 (reserved) Apr 26 03:23:16 localhost kernel: [ 0.000000] BIOS-e820: 00000000fed00000 - 00000000fed01000 (reserved) Apr 26 03:23:16 localhost kernel: [ 0.000000] BIOS-e820: 00000000fed1c000 - 00000000fed20000 (reserved) Apr 26 03:23:16 localhost kernel: [ 0.000000] BIOS-e820: 00000000fee00000 - 00000000fef00000 (reserved) Apr 26 03:23:16 localhost kernel: [ 0.000000] BIOS-e820: 00000000ffe00000 - 00000000ffe10000 (reserved) Apr 26 03:23:16 localhost kernel: [ 0.000000] Notice: NX (Execute Disable) protection cannot be enabled: non-PAE kernel! Apr 26 03:23:16 localhost kernel: [ 0.000000] DMI 2.7 present.
Software : Debian support
Debian-8 EFI32 can boot on it :
- 1/ You can dump image to USB drive :
http://cdimage.debian.org/debian-cd/8.2.0/i386/iso-cd/debian-8.2.0-i386-netinst.iso
- 2/ select F7 on BIOS menu , (optional : unplug network to make it more reproducible)
- 3/ select UEFI: (USBDISKNAME)
- 4/ install Debian on OTHER USBdisk, Force EFI bootloader
- 5/ Open shell and disable some drivers before rebooting
- 6/ Remove install usb disk and Reboot on "debian"
cd / cd etc d="local/rootfs/etc/modprobe.d" $sudo mkdir -p "$d" cat <<EOF | $sudo tee "$d/fri.conf" # http://elinux.org/FRI blacklist arkfb blacklist aty128fb blacklist atyfb blacklist chsc_sch blacklist cirrusfb blacklist cyber2000fb blacklist gpio_pch blacklist hgafb blacklist hisax blacklist hisax_fcpcipnp blacklist i2c-matroxfb blacklist i810fb blacklist i8xx_tco blacklist intelfb blacklist kyrofb blacklist matroxfb_base blacklist mb862xxfb blacklist neofb blacklist nvidiafb blacklist pch_can blacklist pch_phub blacklist pch_uart blacklist pm2fb blacklist pm3fb blacklist radeonfb blacklist rivafb blacklist s3fb blacklist savagefb blacklist sisfb blacklist snd-pcsp blacklist sstfb blacklist tdfxfb blacklist tridentfb blacklist vga16fb blacklist viafb blacklist virgefb blacklist visor blacklist vt8623fb # display driver that break fb , ok on x11 blacklist gma500_gfx # Modem ? # blacklist cdc_wdm # blacklist cdc_acm EOF $sudo ln -fs ../$d/fri.conf modprobe.d/
sudo apt-get install firmware-iwlwifi # for /lib/firmware/iwlwifi-6000g2a-6.ucode
Or try existing image :
Software : Tizen support
Building Tizen with Yocto will make you an image to be dumped to USB, screen is all black but sshd is running (root:root).
https://wiki.tizen.org/wiki/Category:Yocto
MACHINE=genericx86
I managed to send SMS using Modem ERICSSON F5521GW
More details at : https://wiki.tizen.org/wiki/Telephony
Software : Yocto
You can grab prebuilt images in home-rzr-pub-copy-com/dir at :
Community support
Ask question here to device owners : ( User:RzR ... )
- irc://irc.freenode.net/#iot
- http://www.element14.com/community/message/160254/l/what-do-you-know-about-km2m806-02-kontron-iot-platform
- http://embedded.communities.intel.com/message/14442#14442
- https://www.reddit.com/r/IOT/comments/3rsgyd/just_got_a_kontron_m2m_smart_services_developer/cwrzslb
- https://www.reddit.com/r/linux4noobs/comments/3sztxx/won_a_kontron_iot_development_box_with_linux/
- https://www.reddit.com/r/htpc/comments/3s2u9n/i_have_won_something_and_dont_know_what_to_do/