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

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

Hardware
http://imgur.com/a/cQike

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]

Modem :
 * http://www.imei.info/phonedatabase/13530-ericsson-f5521gw/
 * http://i.imgur.com/OGhgcOu.jpg

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

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 :

http://cdimage.debian.org/debian-cd/8.2.0/i386/iso-cd/debian-8.2.0-i386-netinst.iso
 * 1/ You can dump image to USB drive :
 * 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"


 * 1) 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

blacklist gma500_gfx
 * 1) display driver that break fb, ok on x11

EOF
 * 1) Modem ?
 * 2) blacklist cdc_wdm
 * 3) blacklist cdc_acm

$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 :

http://www.element14.com/community/people/rzr/blog/2015/11/24/how-to-setup-a-webrtc-gateway-using-matrix-on-minnowmax

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

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/

Related links :

 * http://rzr.online.fr/q/m2m
 * https://embedded.communities.intel.com/docs/DOC-7544#comment-1420