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
 * http://ark.intel.com/products/52501/Intel-EG20T-PCH

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

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


 * http://www.intel.com/content/www/us/en/intelligent-systems/queens-bay/platform-controller-hub-eg20t-datasheet.html#

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

Software : Yocto

 * https://www.yoctoproject.org/product/fish-river-island-2-board

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