Odroid C2 mainline kernel support

Moderators: odroid, mdrjr

Re: Odroid C2 mainline kernel support

Unread postby mix » Sat Nov 26, 2016 2:13 am

Lot's of interesting drivers and patches the last few days on the mailing list. I'm not sure what happened with the irqchip driver work though.
mix
 
Posts: 20
Joined: Tue Sep 27, 2016 3:40 pm
languages_spoken: English

Re: Odroid C2 mainline kernel support

Unread postby noggin » Sat Nov 26, 2016 11:34 pm

rooted wrote:
crashoverride wrote:The only problem device that I know of that can be tested on a kernel without graphics is the Odroid camera. You should be able to capture from it with ffmpeg within the limitations of mainline. Its also easy and consistent to identify if issues are present.

While not problem devices perse an ATSC tuner gives USB a pretty good workout, DVB not so much since it uses much less bandwidth.


Oh - I'd have thought streaming all the channels from a 40.25Mbs DVB-T2 or 27Mbs DVB-T service over GigE (easy to do with mumudvb, dvblast or TV Headend) would be more of a bandwith test than streaming all the channels and subchannels from a 19.2Mbs ATSC 8VSB tuner?
noggin
 
Posts: 131
Joined: Mon Feb 25, 2013 8:49 pm
languages_spoken: English, Swedish, French, German
ODROIDs: C1, U2

Re: Odroid C2 mainline kernel support

Unread postby rooted » Sun Nov 27, 2016 2:59 am

Why would an h264 stream be 40mbs? Your talking theoretical limits I'm guessing.

30min of ATSC mpeg2 720p is 3.2 gigabyte, or a little over 100 megabyte per minute.
User avatar
rooted
 
Posts: 3652
Joined: Fri Dec 19, 2014 9:12 am
Location: Gulf of Mexico, US
languages_spoken: english
ODROIDs: C1
C1+
C2
XU3 Lite
XU4
VU7+
HiFi Shield 2
Smart Power (original)

Re: Odroid C2 mainline kernel support

Unread postby noggin » Sun Nov 27, 2016 6:01 am

rooted wrote:Why would an h264 stream be 40mbs? Your talking theoretical limits I'm guessing.

30min of ATSC mpeg2 720p is 3.2 gigabyte, or a little over 100 megabyte per minute.


You missed my point. There is no reason to limit yourself to streaming a single channel/service with a USB tuner.

Here the UK PSB 3 mux is 40.25Mbs carrying BBC One HD, BBC Two HD, CBBC HD, ITV HD, C4 HD, C5 HD in H264 1080i and Film 4+1 SD in H264 576i. If you tune that mux with a DVB-T2 USB tuner you can stream all those services simultaneously for recording and/or network viewing. I guess the US equivalent would be tuning all the channels and sub-channels in an ATSC mux simultaneously - but that would max out at 19.2Mbs. (ATSC 8 VSB in 6MHz delivers a 19.2Mbs MPEG2 transport stream. DVB-T2 in 8MHz delivers a 40.25Mbs MPEG2 transport stream. If you stream every service simultaneously - it's 19.2 vs 40.25Mbs...)

If you run all the services in a 40.25Mbs mux simultaneously you can properly stress things.

My TV Headend solution in the UK has 3xDual DVB-T tuners to tune the 6 DVB-T muxes in the UK (5 National + 1 Local) and 3xDVB-T2 tuners. I can record and/or stream every UK channel simultaneously with that. (It's currently running on a Chromebox with GigE connectivity)
noggin
 
Posts: 131
Joined: Mon Feb 25, 2013 8:49 pm
languages_spoken: English, Swedish, French, German
ODROIDs: C1, U2

Re: Odroid C2 mainline kernel support

Unread postby rooted » Sun Nov 27, 2016 3:10 pm

Thanks for the explanation noggin, I didn't know it worked like that in Britain. ATSC is similar actually, one mux (channel) can have six (maybe more) streams that can be tuned.

When tuned to a mux you can record one 'channel' while watching the other substreams with a single tuner dongle. Either these stations aren't following the standard or you are mistaken about the bandwidth of ATSC. My recordings easily exceed 19Mbs, this is from mediainfo:

http://pastebin.com/VicpzYHT
User avatar
rooted
 
Posts: 3652
Joined: Fri Dec 19, 2014 9:12 am
Location: Gulf of Mexico, US
languages_spoken: english
ODROIDs: C1
C1+
C2
XU3 Lite
XU4
VU7+
HiFi Shield 2
Smart Power (original)

Re: Odroid C2 mainline kernel support

Unread postby crashoverride » Sun Nov 27, 2016 5:35 pm

The reason for the camera suggestion is that it fails deterministically and consistently. You plug it in and have complete control over signal. It also uses a minimal of software elements thereby reducing the problem surface.

TV tuners, on the other hand, require a significant software stack and introduce a large problem surface due to all the non-USB (problem related) components required to operate. If you are getting a "broken" signal with a TV tuner, you do not know if its software (tvheadend/driver), hardware (USB transport), signal obstruction, etc.

I agree that TV tuners should be tested. I just do not think they should be a first test. The ones that I have seen use bulk transfers and not the isochronus transfers that have been identified as issue.
crashoverride
 
Posts: 2777
Joined: Tue Dec 30, 2014 8:42 pm
languages_spoken: english
ODROIDs: C1

Re: Odroid C2 mainline kernel support

Unread postby rooted » Mon Nov 28, 2016 2:53 am

The only reason I suggested tuners is because they are similar to cameras.
User avatar
rooted
 
Posts: 3652
Joined: Fri Dec 19, 2014 9:12 am
Location: Gulf of Mexico, US
languages_spoken: english
ODROIDs: C1
C1+
C2
XU3 Lite
XU4
VU7+
HiFi Shield 2
Smart Power (original)

Re: Odroid C2 mainline kernel support

Unread postby umiddelb » Tue Nov 29, 2016 3:48 pm

umiddelb wrote:
brad wrote:Which CPU frequency to you experience these problems?


The default frequency (whatever this might be), since there is no cpufreq driver available at this time.


As we all know, the firmware settings will limit the maximum CPU frequency. So how can I build/patch a firmware limiting the frequency to 1.30 GHz?
umiddelb
 
Posts: 401
Joined: Thu Jan 29, 2015 6:42 am
languages_spoken: English, German
ODROIDs: ODROID-C1, ODROID-XU4, ODROID-C2

Re: Odroid C2 mainline kernel support

Unread postby brad » Tue Nov 29, 2016 4:21 pm

umiddelb wrote:As we all know, the firmware settings will limit the maximum CPU frequency. So how can I build/patch a firmware limiting the frequency to 1.30 GHz?


Drivers are now in next, and have been in the amlogic branch as well previously.
https://git.kernel.org/cgit/linux/kerne ... 7074849c1e

Just wanted to make sure it wasn't enabled and going to 2Gh on you and causing the problem.
brad
 
Posts: 484
Joined: Tue Mar 29, 2016 1:22 pm
Location: Australia
languages_spoken: english
ODROIDs: C2

Re: Odroid C2 mainline kernel support

Unread postby umiddelb » Wed Nov 30, 2016 12:12 am

brad wrote:Just wanted to make sure it wasn't enabled and going to 2Gh on you and causing the problem.

The latest linux-next kernel still crashes under heavy load:
Code: Select all
[ 1251.555684] Bad mode in Error handler detected on CPU2, code 0xbf000000 -- SError
[ 1251.557533] CPU: 2 PID: 25220 Comm: cc1 Not tainted 4.9.0-rc7-next-20161129-dirty #2
[ 1251.565197] Hardware name: Hardkernel ODROID-C2 (DT)
[ 1251.570112] task: ffff80006b4bf080 task.stack: ffff800070ddc000
[ 1251.575980] PC is at 0x40001dd5d904
[ 1251.579427] LR is at 0x6a0f8c
[ 1251.582358] pc : [<000040001dd5d904>] lr : [<00000000006a0f8c>] pstate: 80000000
[ 1251.589691] sp : 0000ffffe8991670
[ 1251.592967] x29: 0000ffffe8991670 x28: 000040002264a798
[ 1251.598225] x27: 000040002262fd98 x26: 0000000000000019
[ 1251.603487] x25: 0000ffffe8991878 x24: 0000000000fd8fb0
[ 1251.608747] x23: 0000000000000035 x22: 0000000000000035
[ 1251.614008] x21: 000040002264a798 x20: 0000ffffe8991700
[ 1251.619269] x19: 0000000000000005 x18: 0000000000000000
[ 1251.624530] x17: 000040001dd5d8c0 x16: 0000000001187050
[ 1251.629792] x15: 0000000000000016 x14: 0000000000ffffff
[ 1251.635053] x13: 0000000012574088 x12: 00004000226022f8
[ 1251.640314] x11: 0000000000000000 x10: 0000000001261000
[ 1251.645575] x9 : 0000000000000040 x8 : 000040002262fd98
[ 1251.650842] x7 : 0000000020190035 x6 : 000040002265e010
[ 1251.656102] x5 : 0000000000000000 x4 : 0000000000000001
[ 1251.661364] x3 : 0000000000000010 x2 : 0000000000000018
[ 1251.666625] x1 : 000040002264a7a8 x0 : 000040002265e000
[ 1251.671885]
[ 1251.673367] Internal error: Attempting to execute userspace memory: 8600000f [#1] PREEMPT SMP
[ 1251.681817] Modules linked in: xt_addrtype xt_conntrack br_netfilter overlay xt_CHECKSUM iptable_mangle ipt_MASQUERADE nf_nat_masquerade_ipv4 iptable_nat nf_conntrack_ipv4 nf_defrag_ipv4 nf_nat_ipv4 nf_nat nf_conntrack xt_tcpudp bridge stp llc iptable_filter ip_tablec
[ 1251.715792] CPU: 2 PID: 25220 Comm: cc1 Not tainted 4.9.0-rc7-next-20161129-dirty #2
[ 1251.723474] Hardware name: Hardkernel ODROID-C2 (DT)
[ 1251.728385] task: ffff80006b4bf080 task.stack: ffff800070ddc000
[ 1251.734254] PC is at 0x6a0f8c
[ 1251.737181] LR is at 0x6a0f8c
[ 1251.740114] pc : [<00000000006a0f8c>] lr : [<00000000006a0f8c>] pstate: 600003c5
[ 1251.747450] sp : ffff800070ddfec0
[ 1251.750721] x29: 0000000000000000 x28: ffff80006b4bf080
[ 1251.755980] x27: 000040002262fd98 [ 1251.758831] Bad mode in Error handler detected on CPU0, code 0xbf000000 -- SError
[ 1251.758840] CPU: 0 PID: 25298 Comm: cc1 Not tainted 4.9.0-rc7-next-20161129-dirty #2
[ 1251.758841] Hardware name: Hardkernel ODROID-C2 (DT)
[ 1251.758844] task: ffff800070df2580 task.stack: ffff8000723fc000
[ 1251.758851] PC is at 0x40001f0a6fe8
[ 1251.758854] LR is at 0xd9caf4
[ 1251.758856] pc : [<000040001f0a6fe8>] lr : [<0000000000d9caf4>] pstate: 60000000
[ 1251.758857] sp : 0000ffffe46dc160
[ 1251.758858] x29: 0000ffffe46dc160
[ 1251.758860] x28: 0000000000000000 x27: 0000000000000000
[ 1251.758863] x26: 000000000119a000 x25: 0000000000000001
[ 1251.758866] x24: 0000000017c71f00 x23: 0000000000000000
[ 1251.758868] x22: 0000000017cbcb70 x21: 00000000000024a3
[ 1251.758871] x20: 0000000017ca8660 x19: 0000000000000000
[ 1251.758874] x18: 0000000000000a03 x17: 000040001f0a7000
[ 1251.758876] x16: 0000000000000000 x15: 000040001ecaa000
[ 1251.758879] x14: 0000000000000000 x13: ffffffffffffffff
[ 1251.758882] x12: 0000000000000013 x11: 0000000000001000
[ 1251.758884] x10: 0101010101010101 x9 : 0000000017cbcb70
[ 1251.758887] x8 : 000000000000003f x7 : 0000000000000003
[ 1251.758890] x6 : 0000ffffe46dc04c x5 : 00000000000024c1
[ 1251.758893] x4 : 0000000017cbcb70 x3 : 0000000017cbf020
[ 1251.758895] x2 : 00000000000024a3 x1 : 0000000017cbcb70
[ 1251.758898] x0 : 00000000000024a3
[ 1251.882423] x26: 0000000000000019 x25: 0000ffffe8991878 x24: 0000000000fd8fb0
[ 1251.889581] x23: 0000000080000000 x22: 000040001dd5d904
[ 1251.894843] x21: ffffffffffffffff x20: 000080006e21d000
[ 1251.900103] x19: 0000000000000000 x18: 0000000000000010
[ 1251.905364] x17: 000040001dd5d8c0 x16: 0000000001187050
[ 1251.910626] x15: ffff000088ec60b7 x14: 0000000000000006
[ 1251.915888] x13: ffff000008ec60c5 x12: 000000000000000f
[ 1251.921149] x11: 0000000000000002 x10: 0000000000000129
[ 1251.926410] x9 : ffff800070ddfb40 x8 : 00000000000a408d
[ 1251.931670] x7 : 0000000000000000 x6 : 0000000000001276
[ 1251.936932] x5 : 0000000012771276 x4 : 0000000000000000
[ 1251.942194] x3 : 0000000000000002 x2 : 0000000000001277
[ 1251.947455] x1 : ffff80006b4bf080 x0 : 0000000000000000
[ 1251.952716]
[ 1251.954185] Process cc1 (pid: 25220, stack limit = 0xffff800070ddc000)
[ 1251.960657] Stack: (0xffff800070ddfec0 to 0xffff800070de0000)
[ 1251.966351] fec0: 000040002265e000 000040002264a7a8 0000000000000018 0000000000000010
[ 1251.974118] fee0: 0000000000000001 0000000000000000 000040002265e010 0000000020190035
[ 1251.981880] ff00: 000040002262fd98 0000000000000040 0000000001261000 0000000000000000
[ 1251.989642] ff20: 00004000226022f8 0000000012574088 0000000000ffffff 0000000000000016
[ 1251.997404] ff40: 0000000001187050 000040001dd5d8c0 0000000000000000 0000000000000005
[ 1252.005167] ff60: 0000ffffe8991700 000040002264a798 0000000000000035 0000000000000035
[ 1252.012930] ff80: 0000000000fd8fb0 0000ffffe8991878 0000000000000019 000040002262fd98
[ 1252.020695] ffa0: 000040002264a798 0000ffffe8991670 00000000006a0f8c 0000ffffe8991670
[ 1252.028454] ffc0: 000040001dd5d904 0000000080000000 0000000000000003 ffffffffffffffff
[ 1252.036217] ffe0: 0000000000000000 0000000000000000 0000000000000000 0000000000000000
[ 1252.043978] Call trace:
[ 1252.046389] Exception stack(0xffff800070ddfcf0 to 0xffff800070ddfe20)
[ 1252.052773] fce0:                                   0000000000000000 0001000000000000
[ 1252.060540] fd00: ffff800070ddfec0 00000000006a0f8c ffff80005fad4640 0000000000000004
[ 1252.068302] fd20: 0000000000000000 ffff000008debcd8 ffff80006b4bf080 0000000070ddfdd0
[ 1252.076065] fd40: ffff800070ddfd90 ffff0000080ca870 ffff800070ddfe40 ffff80006b4bf080
[ 1252.083827] fd60: 0000000000000004 00000000000003c0 ffff800070ddfe40 0000000000fd8fb0
[ 1252.091590] fd80: 0000ffffe8991878 0000000000000019 0000000000000000 ffff80006b4bf080
[ 1252.099352] fda0: 0000000000001277 0000000000000002 0000000000000000 0000000012771276
[ 1252.107114] fdc0: 0000000000001276 0000000000000000 00000000000a408d ffff800070ddfb40
[ 1252.114876] fde0: 0000000000000129 0000000000000002 000000000000000f ffff000008ec60c5
[ 1252.122640] fe00: 0000000000000006 ffff000088ec60b7 0000000001187050 000040001dd5d8c0
[ 1252.130404] [<00000000006a0f8c>] 0x6a0f8c
[ 1252.134368] Code: aa1503e0 aa0103f6 f90033a1 9409efae (aa0003f8)
[ 1252.139831] Bad mode in Error handler detected on CPU3, code 0xbf000000 -- SError
[ 1252.139840] CPU: 3 PID: 25277 Comm: cc1 Not tainted 4.9.0-rc7-next-20161129-dirty #2
[ 1252.139842] Hardware name: Hardkernel ODROID-C2 (DT)
[ 1252.139845] task: ffff800070df4b00 task.stack: ffff800072364000
[ 1252.139852] PC is at 0xc69cac
[ 1252.139853] LR is at 0xc69e60
[ 1252.139855] pc : [<0000000000c69cac>] lr : [<0000000000c69e60>] pstate: 40000000
[ 1252.139856] sp : 0000ffffdfe084c0
[ 1252.139861] x29: 0000ffffdfe084c0 x28: 0000400004403ec0
[ 1252.139864] x27: 0000400004409048 x26: 000040000421bb60
[ 1252.139866] x25: 00000000011a7000 x24: 0000000001261328
[ 1252.139869] x23: 0000000001257000 x22: 0000000001261000
[ 1252.139871] x21: 00000000000003e8 x20: 0000000000000000
[ 1252.139874] x19: 00000000011a8000 x18: 0000000000000001
[ 1252.139876] x17: 00004000018f5bc0 x16: 0000000001187150
[ 1252.139879] x15: 0000000000000007 x14: 0000400004209558
[ 1252.139881] x13: 0000000000000001 x12: 0000000000000000
[ 1252.139884] x11: 000000000000000a x10: 0000000000000010
[ 1252.139886] x9 : 0000000000000000 x8 : 0000000034b2d068
[ 1252.139889] x7 : 0000000034b2b2a0 x6 : 000040000433fd10
[ 1252.139892] x5 : 00004000043f7f20 x4 : 0000000034a52b30
[ 1252.139894] x3 : 0000000034b5ee60 x2 : 0000000000000000
[ 1252.139897] x1 : 0000000000000029 x0 : 0000000034b422e8
[ 1252.139898]
[ 1252.263140] Internal error: Attempting to execute userspace memory: 8600000f [#2] PREEMPT SMP
[ 1252.269679] ---[ end trace 08b7ae0bf92288fa ]---
[ 1252.276160] Modules linked in: xt_addrtype xt_conntrack br_netfilter overlay xt_CHECKSUM iptable_mangle ipt_MASQUERADE nf_nat_masquerade_ipv4 iptable_nat nf_conntrack_ipv4 nf_defrag_ipv4 nf_nat_ipv4 nf_nat nf_conntrack xt_tcpudp bridge stp llc iptable_filter ip_tablec
[ 1252.310142] CPU: 0 PID: 25298 Comm: cc1 Tainted: G      D         4.9.0-rc7-next-20161129-dirty #2
[ 1252.319030] Hardware name: Hardkernel ODROID-C2 (DT)
[ 1252.323941] task: ffff800070df2580 task.stack: ffff8000723fc000
[ 1252.329809] PC is at 0xd9caf4
[ 1252.332737] LR is at 0xd9caf4
[ 1252.335670] pc : [<0000000000d9caf4>] lr : [<0000000000d9caf4>] pstate: 600003c5
[ 1252.343006] sp : ffff8000723ffec0
[ 1252.346277] x29: 0000000000000000 x28: ffff800070df2580
[ 1252.351536] x27: 0000000000000000 x26: 000000000119a000
[ 1252.356796] x25: 0000000000000001 x24: 0000000017c71f00
[ 1252.362059] x23: 0000000060000000 x22: 000040001f0a6fe8
[ 1252.367319] x21: ffffffffffffffff x20: 000080006e1f3000
[ 1252.372580] x19: 0000000000000000 x18: 0000000000000030
[ 1252.377842] x17: 000040001f0a7000 x16: 0000000000000000
[ 1252.383103] x15: ffff000008ec88b8 x14: 0000000000000010
[ 1252.388365] x13: ffff000008ec84d8 x12: ffff000008def788
[ 1252.393626] x11: ffff000008def000 x10: ffff000008ec5000
[ 1252.398887] x9 : 0000000000000000 x8 : ffff800076f84a9c
[ 1252.404147] x7 : 0000000000000000 x6 : 00000000000022cd
[ 1252.409410] x5 : 0000000022ce22cd x4 : 0000000000000000
[ 1252.414671] x3 : 0000000000000000 x2 : 00000000000022ce
[ 1252.419932] x1 : ffff800070df2580 x0 : 0000000000000000
[ 1252.425193]
[ 1252.426662] Process cc1 (pid: 25298, stack limit = 0xffff8000723fc000)
[ 1252.433134] Stack: (0xffff8000723ffec0 to 0xffff800072400000)
[ 1252.438828] fec0: 00000000000024a3 0000000017cbcb70 00000000000024a3 0000000017cbf020
[ 1252.446596] fee0: 0000000017cbcb70 00000000000024c1 0000ffffe46dc04c 0000000000000003
[ 1252.454357] ff00: 000000000000003f 0000000017cbcb70 0101010101010101 0000000000001000
[ 1252.462120] ff20: 0000000000000013 ffffffffffffffff 0000000000000000 000040001ecaa000
[ 1252.469883] ff40: 0000000000000000 000040001f0a7000 0000000000000a03 0000000000000000
[ 1252.477645] ff60: 0000000017ca8660 00000000000024a3 0000000017cbcb70 0000000000000000
[ 1252.485408] ff80: 0000000017c71f00 0000000000000001 000000000119a000 0000000000000000
[ 1252.493170] ffa0: 0000000000000000 0000ffffe46dc160 0000000000d9caf4 0000ffffe46dc160
[ 1252.500932] ffc0: 000040001f0a6fe8 0000000060000000 0000000000000003 ffffffffffffffff
[ 1252.508695] ffe0: 0000000000000000 0000000000000000 0000000000000000 0000000000000000
[ 1252.516456] Call trace:
[ 1252.518866] Exception stack(0xffff8000723ffcf0 to 0xffff8000723ffe20)
[ 1252.525250] fce0:                                   0000000000000000 0001000000000000
[ 1252.533017] fd00: ffff8000723ffec0 0000000000d9caf4 ffff80005f6af5a0 0000000000000004
[ 1252.540780] fd20: 0000000000000000 ffff000008debcd8 ffff800070df2580 00000000723ffdd0
[ 1252.548543] fd40: ffff8000723ffd90 ffff0000080ca870 ffff8000723ffe40 ffff800070df2580
[ 1252.556305] fd60: 0000000000000004 00000000000003c0 ffff8000723ffe40 0000000017c71f00
[ 1252.564067] fd80: 0000000000000001 000000000119a000 0000000000000000 ffff800070df2580
[ 1252.571830] fda0: 00000000000022ce 0000000000000000 0000000000000000 0000000022ce22cd
[ 1252.579593] fdc0: 00000000000022cd 0000000000000000 ffff800076f84a9c 0000000000000000
[ 1252.587354] fde0: ffff000008ec5000 ffff000008def000 ffff000008def788 ffff000008ec84d8
[ 1252.595118] fe00: 0000000000000010 ffff000008ec88b8 0000000000000000 000040001f0a7000
[ 1252.602882] [<0000000000d9caf4>] 0xd9caf4
[ 1252.606845] Code: b940ca80 cb1302a2 8b1302c1 97dede00 (f100001f)
[ 1252.612882] Internal error: Attempting to execute userspace memory: 8600000f [#3] PREEMPT SMP
[ 1252.613189] ---[ end trace 08b7ae0bf92288fb ]---
[ 1252.622281] Bad mode in Error handler detected on CPU2, code 0xbf000000 -- SError
[ 1252.622290] CPU: 2 PID: 2026 Comm: docker-containe Tainted: G      D         4.9.0-rc7-next-20161129-dirty #2
[ 1252.622291] Hardware name: Hardkernel ODROID-C2 (DT)
[ 1252.622295] task: ffff800072738c80 task.stack: ffff80007254c000
[ 1252.622303] PC is at 0x46ef14
[ 1252.622305] LR is at 0x43255c
[ 1252.622306] pc : [<000000000046ef14>] lr : [<000000000043255c>] pstate: 60000000
[ 1252.622308] sp : 0000ffffb4f02e20
[ 1252.622313] x29: 0000ffffb4f03800 x28: 0000004420001380
[ 1252.622315] x27: 0000000000b5a980 x26: 000000000097c068
[ 1252.622318] x25: 0000ffffb4705000 x24: 0000000000b58000
[ 1252.622321] x23: 0000ffffd12e1b28 x22: 0000ffffd12e1a8f
[ 1252.622323] x21: 0000000000000000 x20: 000000000046e2d8
[ 1252.622326] x19: 00000044201528f0 x18: 0000000000b4c000
[ 1252.622329] x17: 000000000097c330 x16: 0000ffffb4f03668
[ 1252.622331] x15: 0000000000000040 x14: 0000000000000000
[ 1252.622334] x13: 00000000247c5cd0 x12: 0000000000b7bba0
[ 1252.622337] x11: 0000000ecfcf8e57 x10: 00fffffffffffdbb
[ 1252.622339] x9 : 00000044200165c8 x8 : 0000000000000016
[ 1252.622342] x7 : 0000000000000004 x6 : 0000000000000002
[ 1252.622344] x5 : 0000000000b7b8c0 x4 : 0000000000000000
[ 1252.622347] x3 : ffffffffffffffff x2 : 0000000000000080
[ 1252.622349] x1 : 0000ffffb4f02e70 x0 : 0000000000000001
[ 1252.622350]
[ 1252.750792] Modules linked in: xt_addrtype xt_conntrack br_netfilter overlay xt_CHECKSUM iptable_mangle ipt_MASQUERADE nf_nat_masquerade_ipv4 iptable_nat nf_conntrack_ipv4 nf_defrag_ipv4 nf_nat_ipv4 nf_nat nf_conntrack xt_tcpudp bridge stp llc iptable_filter ip_tablec
[ 1252.784774] CPU: 3 PID: 25277 Comm: cc1 Tainted: G      D         4.9.0-rc7-next-20161129-dirty #2
[ 1252.793664] Hardware name: Hardkernel ODROID-C2 (DT)
[ 1252.798574] task: ffff800070df4b00 task.stack: ffff800072364000
[ 1252.804442] PC is at 0xc69e60
[ 1252.807371] LR is at 0xc69e60
[ 1252.810304] pc : [<0000000000c69e60>] lr : [<0000000000c69e60>] pstate: 600003c5
[ 1252.817640] sp : ffff800072367ec0
[ 1252.820911] x29: 0000000000000000 x28: ffff800070df4b00
[ 1252.826170] x27: 0000400004409048 x26: 000040000421bb60
[ 1252.831431] x25: 00000000011a7000 x24: 0000000001261328
[ 1252.836692] x23: 0000000040000000 x22: 0000000000c69cac
[ 1252.841954] x21: ffffffffffffffff x20: 000080006e232000
[ 1252.847214] x19: 0000000000000000 x18: 0000000000000030
[ 1252.852475] x17: 00004000018f5bc0 x16: 0000000001187150
[ 1252.857737] x15: ffff000008ec88b8 x14: 0000000000000010
[ 1252.862999] x13: ffff000008ec84d8 x12: ffff000008def788
[ 1252.868260] x11: ffff000008def000 x10: ffff000008ec5000
[ 1252.873521] x9 : 0000000000000000 x8 : ffff800076f85c04
[ 1252.878782] x7 : 0000000000000000 x6 : 0000000000001ad9
[ 1252.884043] x5 : 000000001ada1ad9 x4 : 0000000000000000
[ 1252.889305] x3 : 0000000000000003 x2 : 0000000000001ada
[ 1252.894565] x1 : ffff800070df4b00 x0 : 0000000000000000
[ 1252.899827]
[ 1252.901297] Process cc1 (pid: 25277, stack limit = 0xffff800072364000)
[ 1252.907768] Stack: (0xffff800072367ec0 to 0xffff800072368000)
[ 1252.913462] 7ec0: 0000000034b422e8 0000000000000029 0000000000000000 0000000034b5ee60
[ 1252.921230] 7ee0: 0000000034a52b30 00004000043f7f20 000040000433fd10 0000000034b2b2a0
[ 1252.928992] 7f00: 0000000034b2d068 0000000000000000 0000000000000010 000000000000000a
[ 1252.936753] 7f20: 0000000000000000 0000000000000001 0000400004209558 0000000000000007
[ 1252.944516] 7f40: 0000000001187150 00004000018f5bc0 0000000000000001 00000000011a8000
[ 1252.952279] 7f60: 0000000000000000 00000000000003e8 0000000001261000 0000000001257000
[ 1252.960041] 7f80: 0000000001261328 00000000011a7000 000040000421bb60 0000400004409048
[ 1252.967804] 7fa0: 0000400004403ec0 0000ffffdfe084c0 0000000000c69e60 0000ffffdfe084c0
[ 1252.975567] 7fc0: 0000000000c69cac 0000000040000000 0000000000000003 ffffffffffffffff
[ 1252.983329] 7fe0: 0000000000000000 0000000000000000 ffff7e00002c1780 ffff7e00002c17c0
[ 1252.991089] Call trace:
[ 1252.993500] Exception stack(0xffff800072367cf0 to 0xffff800072367e20)
[ 1252.999884] 7ce0:                                   0000000000000000 0001000000000000
[ 1253.007651] 7d00: ffff800072367ec0 0000000000c69e60 ffff80005f5196e0 0000000000000004
[ 1253.015414] 7d20: 0000000000000000 ffff000008debcd8 ffff800070df4b00 0000000072367dd0
[ 1253.023176] 7d40: ffff800072367d90 ffff0000080ca870 ffff800072367e40 ffff800070df4b00
[ 1253.030939] 7d60: 0000000000000004 00000000000003c0 ffff800072367e40 0000000001261328
[ 1253.038701] 7d80: 00000000011a7000 000040000421bb60 0000000000000000 ffff800070df4b00
[ 1253.046464] 7da0: 0000000000001ada 0000000000000003 0000000000000000 000000001ada1ad9
[ 1253.054226] 7dc0: 0000000000001ad9 0000000000000000 ffff800076f85c04 0000000000000000
[ 1253.061990] 7de0: ffff000008ec5000 ffff000008def000 ffff000008def788 ffff000008ec84d8
[ 1253.069752] 7e00: 0000000000000010 ffff000008ec88b8 0000000001187150 00004000018f5bc0
[ 1253.077516] [<0000000000c69e60>] 0xc69e60
[ 1253.081479] Code: 91008360 f900231b d00029f9 97fffe97 (72001c1f)
[ 1253.087516] Internal error: Attempting to execute userspace memory: 8600000f [#4] PREEMPT SMP
[ 1253.095979] Modules linked in: xt_addrtype xt_conntrack br_netfilter overlay xt_CHECKSUM iptable_mangle[ 1253.103909] ---[ end trace 08b7ae0bf92288fc ]---
[ 1253.109678]  ipt_MASQUERADE nf_nat_masquerade_ipv4 iptable_nat nf_conntrack_ipv4 nf_defrag_ipv4 nf_nat_ipv4 nf_nat nf_conntrack xt_tcpudp bridge stp llc iptable_filter ip_tables x_tables lzo fuse zram meson_rng rng_core meson_gxbb_wdt ipv6 dwmac_generic realtek dwmacc
[ 1253.135811] CPU: 2 PID: 2026 Comm: docker-containe Tainted: G      D         4.9.0-rc7-next-20161129-dirty #2
[ 1253.145651] Hardware name: Hardkernel ODROID-C2 (DT)
[ 1253.150561] task: ffff800072738c80 task.stack: ffff80007254c000
[ 1253.156430] PC is at 0x43255c
[ 1253.159359] LR is at 0x43255c
[ 1253.162291] pc : [<000000000043255c>] lr : [<000000000043255c>] pstate: 600003c5
[ 1253.169627] sp : ffff80007254fec0
[ 1253.172897] x29: 0000000000000000 x28: ffff800072738c80
[ 1253.178156] x27: 0000000000b5a980 x26: 000000000097c068
[ 1253.183417] x25: 0000ffffb4705000 x24: 0000000000b58000
[ 1253.188678] x23: 0000000060000000 x22: 000000000046ef14
[ 1253.193940] x21: ffffffffffffffff x20: 000080006e21d000
[ 1253.199201] x19: 0000000000000000 x18: 0000000000000030
[ 1253.204462] x17: 000000000097c330 x16: 0000ffffb4f03668
[ 1253.209723] x15: ffff000008ec88b8 x14: 0000000000000010
[ 1253.214985] x13: ffff000008ec84d8 x12: ffff000008def788
[ 1253.220246] x11: ffff000008def000 x10: ffff000008ec5000
[ 1253.225507] x9 : 0000000000000000 x8 : ffff800076f7f268
[ 1253.230769] x7 : 0000000000000000 x6 : 00000000000000b4
[ 1253.236030] x5 : 0000000000b500b4 x4 : 0000000000000000
[ 1253.241291] x3 : 0000000000000002 x2 : 00000000000000b5
[ 1253.246552] x1 : ffff800072738c80 x0 : 0000000000000000
[ 1253.251813]
[ 1253.253283] Process docker-containe (pid: 2026, stack limit = 0xffff80007254c000)
[ 1253.260709] Stack: (0xffff80007254fec0 to 0xffff800072550000)
[ 1253.266397] fec0: 0000000000000001 0000ffffb4f02e70 0000000000000080 ffffffffffffffff
[ 1253.274165] fee0: 0000000000000000 0000000000b7b8c0 0000000000000002 0000000000000004
[ 1253.281928] ff00: 0000000000000016 00000044200165c8 00fffffffffffdbb 0000000ecfcf8e57
[ 1253.289689] ff20: 0000000000b7bba0 00000000247c5cd0 0000000000000000 0000000000000040
[ 1253.297452] ff40: 0000ffffb4f03668 000000000097c330 0000000000b4c000 00000044201528f0
[ 1253.305215] ff60: 000000000046e2d8 0000000000000000 0000ffffd12e1a8f 0000ffffd12e1b28
[ 1253.312977] ff80: 0000000000b58000 0000ffffb4705000 000000000097c068 0000000000b5a980
[ 1253.320739] ffa0: 0000004420001380 0000ffffb4f03800 000000000043255c 0000ffffb4f02e20
[ 1253.328501] ffc0: 000000000046ef14 0000000060000000 0000000000000006 ffffffffffffffff
[ 1253.336265] ffe0: 0000000000000000 0000000000000000 000001e543000000 c101000000007f00
[ 1253.344024] Call trace:
[ 1253.346435] Exception stack(0xffff80007254fcf0 to 0xffff80007254fe20)
[ 1253.352818] fce0:                                   0000000000000000 0001000000000000
[ 1253.360586] fd00: ffff80007254fec0 000000000043255c ffff80005fad4460 0000000000000004
[ 1253.368349] fd20: 0000000000000000 ffff000008debcd8 ffff800072738c80 000000007254fdd0
[ 1253.376112] fd40: ffff80007254fd90 ffff0000080ca870 ffff80007254fe40 ffff800072738c80
[ 1253.383874] fd60: 0000000000000004 00000000000003c0 ffff80007254fe40 0000000000b58000
[ 1253.391637] fd80: 0000ffffb4705000 000000000097c068 0000000000000000 ffff800072738c80
[ 1253.399399] fda0: 00000000000000b5 0000000000000002 0000000000000000 0000000000b500b4
[ 1253.407162] fdc0: 00000000000000b4 0000000000000000 ffff800076f7f268 0000000000000000
[ 1253.414924] fde0: ffff000008ec5000 ffff000008def000 ffff000008def788 ffff000008ec84d8
[ 1253.422686] fe00: 0000000000000010 ffff000008ec88b8 0000ffffb4f03668 000000000097c330
[ 1253.430452] [<000000000043255c>] 0x43255c
[ 1253.434415] Code: b9001be0 b9802be0 b9001fe0 9400f268 (b98023e0)
[ 1253.440639] ---[ end trace 08b7ae0bf92288fd ]---
  CC [M]  drivers/gpu/drm/ttm/ttm_tt.o
gcc: internal compiler error: Segmentation fault (program cc1)
Please submit a full bug report,
with preprocessed source if appropriate.
See <file:///usr/share/doc/gcc-5/README.Bugs> for instructions.
scripts/Makefile.build:293: recipe for target 'drivers/gpu/drm/ttm/ttm_tt.o' failed
make[4]: *** [drivers/gpu/drm/ttm/ttm_tt.o] Error 4
scripts/Makefile.build:544: recipe for target 'drivers/gpu/drm/ttm' failed
umiddelb
 
Posts: 401
Joined: Thu Jan 29, 2015 6:42 am
languages_spoken: English, German
ODROIDs: ODROID-C1, ODROID-XU4, ODROID-C2

Re: Odroid C2 mainline kernel support

Unread postby mix » Wed Nov 30, 2016 2:10 am

Submit a bug report to the linux-meson mailing list... if you haven't already.
mix
 
Posts: 20
Joined: Tue Sep 27, 2016 3:40 pm
languages_spoken: English

Re: Odroid C2 mainline kernel support

Unread postby brad » Mon Dec 05, 2016 2:19 pm

A number of interesting patches now comming through the amlogic mailing list :)

- Fix for odroid c2 ethernet reset
- Support to reset 2nd USB controller
- Initial version Amlogic VPU Display Controller
brad
 
Posts: 484
Joined: Tue Mar 29, 2016 1:22 pm
Location: Australia
languages_spoken: english
ODROIDs: C2

Re: Odroid C2 mainline kernel support

Unread postby rooted » Mon Dec 05, 2016 2:46 pm

brad wrote:A number of interesting patches now comming through the amlogic mailing list :)

- Fix for odroid c2 ethernet reset
- Support to reset 2nd USB controller
- Initial version Amlogic VPU Display Controller

Seems someone/s been busy, good to see.
User avatar
rooted
 
Posts: 3652
Joined: Fri Dec 19, 2014 9:12 am
Location: Gulf of Mexico, US
languages_spoken: english
ODROIDs: C1
C1+
C2
XU3 Lite
XU4
VU7+
HiFi Shield 2
Smart Power (original)

Re: Odroid C2 mainline kernel support

Unread postby daggs » Tue Dec 06, 2016 2:56 am

Greetings,

I have a question, assuming I'm taking latest uboot from git and linux v4.9rc8, what will be the status of booting the C2 from sd card?
from what I understand, I can expect most trivial (boot, basic hw support, udev running, eth working and video output)?

am I correct?
daggs
 
Posts: 152
Joined: Tue Mar 22, 2016 6:34 pm
languages_spoken: english, spanish
ODROIDs: odroid c2

Re: Odroid C2 mainline kernel support

Unread postby noggin » Tue Dec 06, 2016 10:36 am

rooted wrote:Thanks for the explanation noggin, I didn't know it worked like that in Britain. ATSC is similar actually, one mux (channel) can have six (maybe more) streams that can be tuned.

Yep - ATSC and DVB implement things pretty similarly. However in Europe we seldom have 'stations' owning their muxes, and instead have always had muxes that are semi-independently handled and carry multiple SD MPEG2 streams on a single 18-27Mbs DVB-T mux.

With DVB-T2, our second gen modulation scheme (which is used with H264 in most regions and H265 in Germany), 40.25Mbs muxes are possible - which allow multiple HD streams at decent quality to be carried (1080p50 is being used with H265 in Germany)

When tuned to a mux you can record one 'channel' while watching the other substreams with a single tuner dongle. Either these stations aren't following the standard or you are mistaken about the bandwidth of ATSC. My recordings easily exceed 19Mbs, this is from mediainfo:


No - that's exactly what you can do - either record all services, or stream all services over Ethernet for multiple clients to play or record elsewhere. However in the US OTA ATSC is still limited to 19.2Mbs (there are a few ATSC 3.0 test transmissions - but AFAIK no consumer hardware to receive them via USB connections yet) - so you usually get a 1080i main channel and a couple of 480i services or maybe a 1080i and a 720p service, or two 720p services and a 480i sub-channel? However 1080i MPEG2 really needs a decent bitrate - so sub-channels are the enemy in the US)

http://pastebin.com/VicpzYHT


The clip you linked to is around 14Mbs - why does this demonstrate >19.2Mbs ?

Media Info says the video bitrate is :
Code: Select all
Bit rate                                 : 14.1 Mb/s

and the audio bitrate is :
Code: Select all
Bit rate                                 : 384 kb/s


And doing the maths on the filesize of 3.25GiB for 29'59" gives you around 14.44Mbs.

That looks to be a decent bitrate for an HD MPEG2 stream, leaving around 4.8Mbs left for subchannels (and PSIP etc. data?)

Media Info also reports the MPEG2 video stream indicating :
Code: Select all
Maximum bit rate                         : 24.0 Mb/s

but that is an MPEG2 header type value, it doesn't mean the video will ever reach 24Mbs.

US ATSC 8VSB OTA is 19.2Mbs in a 6MHz channel. That's the standard. If you are using ATSC QAM cable then higher bitrates are possible.

(But this is Off Topic now - and I agree cameras are a more consistent data source in the first instance)
noggin
 
Posts: 131
Joined: Mon Feb 25, 2013 8:49 pm
languages_spoken: English, Swedish, French, German
ODROIDs: C1, U2

Re: Odroid C2 mainline kernel support

Unread postby brad » Tue Dec 06, 2016 2:44 pm

daggs wrote:Greetings,

I have a question, assuming I'm taking latest uboot from git and linux v4.9rc8, what will be the status of booting the C2 from sd card?
from what I understand, I can expect most trivial (boot, basic hw support, udev running, eth working and video output)?

am I correct?


Latest uboot from d denx does not have any sd drivers (there are some development patches floating around), but you can boot new kernel using the hardkernel u-boot.

v4.9rc8 kernel is still missing alot at the moment including sdcard and usb but the linux-next version currently has usb & sdcard.

Patches have been submitted for an Ethernet fix and some initial patches for video out but no hdmi yet.
brad
 
Posts: 484
Joined: Tue Mar 29, 2016 1:22 pm
Location: Australia
languages_spoken: english
ODROIDs: C2

Re: Odroid C2 mainline kernel support

Unread postby brad » Thu Dec 08, 2016 4:27 pm

Does anyone believe it might be possible to run a vm inside a 4.9 kernel (or any kernel for that matter) and somehow fully pass through gpu, vpu, hdmi (or any other relevant requirements) to VM running amlogic drivers? I could then use RealVNC which supports direct framebuffer access I believe to transfer video from physical to VM for rendering and display?
brad
 
Posts: 484
Joined: Tue Mar 29, 2016 1:22 pm
Location: Australia
languages_spoken: english
ODROIDs: C2

Re: Odroid C2 mainline kernel support

Unread postby KARL23 » Fri Dec 09, 2016 12:53 am

Does anyone know, how to increase sdcard speed on actual kernels up to linux-next-4.9-rc8 20161208?
in the dts file it says "cap-sd-highspeed" is this relevant?

the speed i reach is about 3.5 Mbyte per second. the same card on hardkernel's kernel runs about 12 times as fast.

Any hint is appreciated.
KARL23
 
Posts: 5
Joined: Sun Jun 26, 2016 10:59 pm
languages_spoken: english
ODROIDs: c1, c2,xu4

Re: Odroid C2 mainline kernel support

Unread postby rooted » Fri Dec 09, 2016 1:38 am

KARL23 wrote:Does anyone know, how to increase sdcard speed on actual kernels up to linux-next-4.9-rc8 20161208?
in the dts file it says "cap-sd-highspeed" is this relevant?

the speed i reach is about 3.5 Mbyte per second. the same card on hardkernel's kernel runs about 12 times as fast.

Any hint is appreciated.

I'm guessing UHS is not enabled yet.
User avatar
rooted
 
Posts: 3652
Joined: Fri Dec 19, 2014 9:12 am
Location: Gulf of Mexico, US
languages_spoken: english
ODROIDs: C1
C1+
C2
XU3 Lite
XU4
VU7+
HiFi Shield 2
Smart Power (original)

Re: Odroid C2 mainline kernel support

Unread postby brad » Fri Dec 09, 2016 10:09 am

KARL23 wrote:Does anyone know, how to increase sdcard speed on actual kernels up to linux-next-4.9-rc8 20161208?
in the dts file it says "cap-sd-highspeed" is this relevant?

the speed i reach is about 3.5 Mbyte per second. the same card on hardkernel's kernel runs about 12 times as fast.

Any hint is appreciated.


As a workaround it should work at full speed over USB via sd adaptor, I was able to pull at 30Mb/s from emmc via USB.
brad
 
Posts: 484
Joined: Tue Mar 29, 2016 1:22 pm
Location: Australia
languages_spoken: english
ODROIDs: C2

Re: Odroid C2 mainline kernel support

Unread postby crashoverride » Fri Dec 09, 2016 10:40 am

brad wrote:Does anyone believe it might be possible to run a vm inside a 4.9 kernel (or any kernel for that matter) and somehow fully pass through gpu, vpu, hdmi (or any other relevant requirements) to VM running amlogic drivers? I could then use RealVNC which supports direct framebuffer access I believe to transfer video from physical to VM for rendering and display?

I read that several times and am still uncertain what it means. The part about "transfer video from physical to VM for rendering to display" needs clarification.

Without an SMU (IOMMU) on the SoC, it is non trivial to pass through devices to VMs.
crashoverride
 
Posts: 2777
Joined: Tue Dec 30, 2014 8:42 pm
languages_spoken: english
ODROIDs: C1

Re: Odroid C2 mainline kernel support

Unread postby brad » Fri Dec 09, 2016 3:34 pm

crashoverride wrote:
brad wrote:Does anyone believe it might be possible to run a vm inside a 4.9 kernel (or any kernel for that matter) and somehow fully pass through gpu, vpu, hdmi (or any other relevant requirements) to VM running amlogic drivers? I could then use RealVNC which supports direct framebuffer access I believe to transfer video from physical to VM for rendering and display?

I read that several times and am still uncertain what it means. The part about "transfer video from physical to VM for rendering to display" needs clarification.

Without an SMU (IOMMU) on the SoC, it is non trivial to pass through devices to VMs.


In other words I guess I was looking for a method to "Pass through the GPU along with vout", even though the host does not have drivers or acknowledge the devices.

Then to transfer video use virtual framebuffer xserver on the host and realvnc client on vm to display hosts frambuffer.

Xvfb would be the virtual framebuffer
https://www.x.org/releases/X11R7.6/doc/ ... fb.1.xhtml
brad
 
Posts: 484
Joined: Tue Mar 29, 2016 1:22 pm
Location: Australia
languages_spoken: english
ODROIDs: C2

Re: Odroid C2 mainline kernel support

Unread postby otec » Mon Dec 12, 2016 6:05 pm

4.9 is released now. Does it have full or partial support for C2?

Sent from my Nexus 6P using Tapatalk
otec
 
Posts: 164
Joined: Sat Feb 06, 2016 7:08 pm
languages_spoken: english
ODROIDs: C2 + eMMC 64Gb

Re: Odroid C2 mainline kernel support

Unread postby brad » Mon Dec 12, 2016 8:05 pm

otec wrote:4.9 is released now. Does it have full or partial support for C2?


Partial much is still missing, no usb or sd in 4.9.
brad
 
Posts: 484
Joined: Tue Mar 29, 2016 1:22 pm
Location: Australia
languages_spoken: english
ODROIDs: C2

Re: Odroid C2 mainline kernel support

Unread postby fosco » Fri Jan 06, 2017 2:19 am

Since Xmas, 4.10 is mainline.

I tried to configure 4.10_rc2 following hardware specs and common sense.
As in previous versions there are no defconfig for arm64.

It hangs at boot using HK uboot.
accordingly to http://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git/tree/arch/arm64/boot/dts/amlogic/meson-gxbb-odroidc2.dts?id=refs/tags/v4.10-rc2 I suppose sd should work at boot.
Having no UART adapter I can't figure what''s wrong.

Anybody else tried?
(just in case, working .config are wellcome ;) )
fosco
 
Posts: 1
Joined: Thu Jan 05, 2017 11:55 pm
languages_spoken: english,itlian
ODROIDs: c2

Re: Odroid C2 mainline kernel support

Unread postby umiddelb » Mon Jan 09, 2017 6:07 am

There is a generic defconfig for am64. This will work with the C2 as well as long as you are booting a 'wrapped' uImage kernel Image, see here for details.

And you might have missed that the console device has changed from ttyS0 to ttyAML0 (and the fdt's name from meson64_odroidc2.dtb to meson-gxbb-odroidc2.dtb).
umiddelb
 
Posts: 401
Joined: Thu Jan 29, 2015 6:42 am
languages_spoken: English, German
ODROIDs: ODROID-C1, ODROID-XU4, ODROID-C2

Re: Odroid C2 mainline kernel support

Unread postby daggs » Wed Jan 11, 2017 4:31 pm

has anyone tried to build the kernel and uboot with a gcc toolchain and not the linaro tool chain?
daggs
 
Posts: 152
Joined: Tue Mar 22, 2016 6:34 pm
languages_spoken: english, spanish
ODROIDs: odroid c2

Re: Odroid C2 mainline kernel support

Unread postby brad » Thu Jan 12, 2017 3:49 pm

daggs wrote:has anyone tried to build the kernel and uboot with a gcc toolchain and not the linaro tool chain?


Successfully built both 4.9 kernels and standard hardkernels on the C2 with gcc 6.1.0 and 6.2.0 (non Linaro)

I suspect the 5.4.1 version of gcc will work as well (non linaro) but I have not tested.

This might be of interest (viewtopic.php?f=141&t=23862). I did not see any performance improvements recompiling the actual kernel but I did see some interesting differences recompiling the prebuilt ubuntu software binaries using pure gcc 6.2.0, likely due to new optimised features for aarch64.
brad
 
Posts: 484
Joined: Tue Mar 29, 2016 1:22 pm
Location: Australia
languages_spoken: english
ODROIDs: C2

Re: Odroid C2 mainline kernel support

Unread postby moon.linux » Fri Jan 13, 2017 2:19 pm

On latest mainline kernel I get random mac address on each boot which leads to different ip each time,
I tired to pass the mac address via u-boot but nothing works for me.
If their is some hack please share.
moon.linux
 
Posts: 761
Joined: Thu Oct 02, 2014 11:42 pm
languages_spoken: english

Re: Odroid C2 mainline kernel support

Unread postby brad » Fri Jan 13, 2017 2:36 pm

moon.linux wrote:On latest mainline kernel I get random mac address on each boot which leads to different ip each time,
I tired to pass the mac address via u-boot but nothing works for me.
If their is some hack please share.


Does this occur with hardkernel uboot or mainline only?

See uboot option below ....

config NET_RANDOM_ETHADDR
bool "Random ethaddr if unset"
select LIB_RAND
help
Selecting this will allow the Ethernet interface to function
even when the ethaddr variable for that interface is unset.
A new MAC address will be generated on every boot and it will
not be added to the environment.


To get the Ethernet working in newer uboot the above option was used as the odroid does not have one in hardware. Instead it must be set within the
u-boot configuration I believe and the kernel will carry it on. I wonder where the mac address used in hardkernel image is stored, I guess it must be compiled in
u-boot or maybe the bootloader.

Edit here it is...

https://github.com/hardkernel/u-boot/bl ... dc2.h#L238
brad
 
Posts: 484
Joined: Tue Mar 29, 2016 1:22 pm
Location: Australia
languages_spoken: english
ODROIDs: C2

Re: Odroid C2 mainline kernel support

Unread postby moon.linux » Fri Jan 13, 2017 3:00 pm

I am using HK u-boot as of now as many kernel features have some dependency on u-boot HK like SCPI DVFS,,etc.
Ethernet driver have feature of random mac address so we need some patch to set update this if passed as kernel parameter.
moon.linux
 
Posts: 761
Joined: Thu Oct 02, 2014 11:42 pm
languages_spoken: english

Re: Odroid C2 mainline kernel support

Unread postby rooted » Fri Jan 13, 2017 3:07 pm

That seems odd that any of those (not MAC address) would depend on uboot, they should depend on device tree entrees no?
User avatar
rooted
 
Posts: 3652
Joined: Fri Dec 19, 2014 9:12 am
Location: Gulf of Mexico, US
languages_spoken: english
ODROIDs: C1
C1+
C2
XU3 Lite
XU4
VU7+
HiFi Shield 2
Smart Power (original)

Re: Odroid C2 mainline kernel support

Unread postby mad_ady » Fri Jan 13, 2017 4:41 pm

How do you explain that all the C2's I've seen have different MACs (unlike the XU4)? I'm guessing it's stored somewhere on the board, but not in the software that gets written (e.g. booting a second C2 with the emmc of the first C2 does not give me the first C2's MAC). This is all on the official kernel - not sure how it changes in mainline.
User avatar
mad_ady
 
Posts: 1710
Joined: Wed Jul 15, 2015 5:00 pm
Location: Bucharest, Romania
languages_spoken: english
ODROIDs: XU3, C1+, C2

Re: Odroid C2 mainline kernel support

Unread postby odroid » Fri Jan 13, 2017 4:55 pm

C2 MAC address is stored in the CPU OTP Fuse block in our production line.
XU4 MAC address is stored in the USB-GBit Ethernet chip(RTL8153) in our production line.
Mainline kernel seems not to use the hardware MAC address.
We will fix the issue in XU4 Kernel 4.9.
User avatar
odroid
Site Admin
 
Posts: 22768
Joined: Fri Feb 22, 2013 11:14 pm
languages_spoken: English
ODROIDs: ODROID

Re: Odroid C2 mainline kernel support

Unread postby umiddelb » Fri Jan 13, 2017 5:55 pm

In the meantime, you can pin the MAC address in /etc/network/interfaces.d/eth0, like
Code: Select all
auto eth0
iface eth0 inet dhcp
  hwaddress ether 00:01:c0:13:fb:ef
umiddelb
 
Posts: 401
Joined: Thu Jan 29, 2015 6:42 am
languages_spoken: English, German
ODROIDs: ODROID-C1, ODROID-XU4, ODROID-C2

Re: Odroid C2 mainline kernel support

Unread postby brad » Fri Jan 13, 2017 6:56 pm

odroid wrote:C2 MAC address is stored in the CPU OTP Fuse block in our production line.
XU4 MAC address is stored in the USB-GBit Ethernet chip(RTL8153) in our production line.
Mainline kernel seems not to use the hardware MAC address.
We will fix the issue in XU4 Kernel 4.9.


So in theory it should be possible to read the value via SCPI and the fuse drivers in linux-next revision. The mainline uboot has limited support for fuse on S905 i think so probably not possible there at the moment.

I wonder if the ip autoconfiguration has an impact on this, its enabled if a defconfig is done to build new kernel and brings the network up early in boot maybe before the fuse drivers?

umiddelb wrote:In the meantime, you can pin the MAC address in /etc/network/interfaces.d/eth0


Thank you this helps a lot :)
brad
 
Posts: 484
Joined: Tue Mar 29, 2016 1:22 pm
Location: Australia
languages_spoken: english
ODROIDs: C2

Re: Odroid C2 mainline kernel support

Unread postby daggs » Fri Jan 13, 2017 7:10 pm

brad wrote:
daggs wrote:has anyone tried to build the kernel and uboot with a gcc toolchain and not the linaro tool chain?


Successfully built both 4.9 kernels and standard hardkernels on the C2 with gcc 6.1.0 and 6.2.0 (non Linaro)

I suspect the 5.4.1 version of gcc will work as well (non linaro) but I have not tested.

This might be of interest (viewtopic.php?f=141&t=23862). I did not see any performance improvements recompiling the actual kernel but I did see some interesting differences recompiling the prebuilt ubuntu software binaries using pure gcc 6.2.0, likely due to new optimised features for aarch64.

which uboot are you using? have you seen any freezes under idle conditions?
even ping sends only one pkt and then freeze.
according to dmesg, it seems I have two timers working.
daggs
 
Posts: 152
Joined: Tue Mar 22, 2016 6:34 pm
languages_spoken: english, spanish
ODROIDs: odroid c2

Re: Odroid C2 mainline kernel support

Unread postby umiddelb » Fri Jan 13, 2017 7:48 pm

I have prepared github branch containing the mainline kernel and a few C2 related patches, which resolve the ethernet issue.
You can boot this kernel with the standard HK u-boot (but requires some modification in boot.ini) . Building instructions can be found here.
umiddelb
 
Posts: 401
Joined: Thu Jan 29, 2015 6:42 am
languages_spoken: English, German
ODROIDs: ODROID-C1, ODROID-XU4, ODROID-C2

Re: Odroid C2 mainline kernel support

Unread postby moon.linux » Fri Jan 13, 2017 9:04 pm

Thanks @umiddelb ;)
moon.linux
 
Posts: 761
Joined: Thu Oct 02, 2014 11:42 pm
languages_spoken: english

Re: Odroid C2 mainline kernel support

Unread postby umiddelb » Fri Jan 13, 2017 9:22 pm

You're welcome. You can use both Ubuntu distro gcc-5 and gcc-6 compiler to build the kernel.
umiddelb
 
Posts: 401
Joined: Thu Jan 29, 2015 6:42 am
languages_spoken: English, German
ODROIDs: ODROID-C1, ODROID-XU4, ODROID-C2

Re: Odroid C2 mainline kernel support

Unread postby brad » Sat Jan 14, 2017 7:14 am

daggs wrote:which uboot are you using? have you seen any freezes under idle conditions?
even ping sends only one pkt and then freeze.
according to dmesg, it seems I have two timers working.


I had been mainly using a new version although I had the same issues with hardkernel uboot.

My solution to continue testing other features was to force 100mb via a switch. On Gigabit I had random problems through different versions of kernel development.

The Gigabit interface requires 2 timers and the 100Mbit only 1 and I believe there is a conflict between the 2 in Gigabit causing the problem.

I would suggest trying umiddelb's fixes for Ethernet to see if it can help stabilise the interface. I am going to do the same very shortly.
brad
 
Posts: 484
Joined: Tue Mar 29, 2016 1:22 pm
Location: Australia
languages_spoken: english
ODROIDs: C2

Re: Odroid C2 mainline kernel support

Unread postby daggs » Sat Jan 14, 2017 5:18 pm

brad wrote:
daggs wrote:which uboot are you using? have you seen any freezes under idle conditions?
even ping sends only one pkt and then freeze.
according to dmesg, it seems I have two timers working.


I had been mainly using a new version although I had the same issues with hardkernel uboot.

My solution to continue testing other features was to force 100mb via a switch. On Gigabit I had random problems through different versions of kernel development.

The Gigabit interface requires 2 timers and the 100Mbit only 1 and I believe there is a conflict between the 2 in Gigabit causing the problem.

I would suggest trying umiddelb's fixes for Ethernet to see if it can help stabilise the interface. I am going to do the same very shortly.

seems like my issue, the router is 1gbit, do you mean this fix? https://github.com/torvalds/linux/commi ... 9a91fcf97f
can it be applied to the stock hk kernel?
daggs
 
Posts: 152
Joined: Tue Mar 22, 2016 6:34 pm
languages_spoken: english, spanish
ODROIDs: odroid c2

Re: Odroid C2 mainline kernel support

Unread postby daggs » Sun Jan 15, 2017 2:53 am

so to answer my own question, no that patch is not compatible with the hk stock kernel.
I need to continue testing again. :(
daggs
 
Posts: 152
Joined: Tue Mar 22, 2016 6:34 pm
languages_spoken: english, spanish
ODROIDs: odroid c2

Re: Odroid C2 mainline kernel support

Unread postby umiddelb » Sun Jan 15, 2017 6:21 pm

umiddelb wrote:I have prepared github branch containing the mainline kernel and a few C2 related patches, which resolve the ethernet issue.
You can boot this kernel with the standard HK u-boot (but requires some modification in boot.ini) . Building instructions can be found here.


I need to mention that this kernel doesn't play nice with µSD cards, you should run the rootfs from eMMC.
umiddelb
 
Posts: 401
Joined: Thu Jan 29, 2015 6:42 am
languages_spoken: English, German
ODROIDs: ODROID-C1, ODROID-XU4, ODROID-C2

Is it too much too ask for a "preview" image via official ch

Unread postby grizzlyfred » Mon Jan 16, 2017 4:41 am

I kind of enjoyed that on "normal" ubuntu one could use a metapackage to put an LTS on the next available release kernels.
Now that I do want to develop applications ON the device on not the kernel OF the device, is it too much to ask that hardkernel provides an "official" or "ppa"-style build of 4.10 that I can package-install? (I do not mind if it wre marked "experimental" and I do not care for gpu support at all) -- I also do not understand why I there is is no linux-headers-odroid-c2 or similar metapackage available to help dkms.
So please, lets quit the 3.x series with its quirks and hav 4.x to find new ones ;-)

Ah, yes and it "should play nice" on normal SD cards, the eMMC feature is nice, but they cost the same as the bare odroid here, so kind of no option, I want to build a private arm cluster and I need dead cheao small but reasonably fast cards, no fancy emmc stuff.

Kind of offtoppic:
I would also like a design towards "os as compressed squashfs in RAM" + overlay + manual / time based / event driven commit of things, such as puppy linux used to work or the usb live install from ubuntu. I would rather invest in such a setup from scratch (arch?). Me being rather in between "dev" and "maker" ;-)
grizzlyfred
 
Posts: 9
Joined: Fri Nov 18, 2016 5:11 am
languages_spoken: english
ODROIDs: 2xC2:
---
c2 "black":
int: 128 GB Toshiba Exceria UHS-I /
ext: USB 128 GB SanDisk Mini /
running aarch64 Ubuntu 16.04 LTS "xenial"
---
c2 "blue":
int: 16 GB Samsung Evo µSD (2014?)
ext: / 32 GB Lexar UHS-II 1000x and lexar's UHS-II reader
running aarch64 "alarm"
---
pi3 for reference
int: 16 GB Lexar UHS-I 633x card /
ext: 2x Transcend 8GB UHS-I 300x cards (2012?) (normal size) on TS-RF8D reader in btrfs raid0
running SuSE "Leap" aarch64
---
Tons of
"The next 64bit board from Hardkernel, if USB3.0 and M.2 or SATA available" ;-)
---
+ Some stuff AMD has made or will make
---
all to be part of a swARM (docker or similar) hybrid arm64/x64 cloud cluster project.

Re: Odroid C2 mainline kernel support

Unread postby KARL23 » Mon Jan 16, 2017 10:39 pm

@umiddelb

Do you know how to improve SD Performance for µSD Cards? It is bad since long time in mainline test kernels.

Is it the driver or only the setting "cap-sd-highspeed;" in the dts?

Code: Select all
/* SD */
&sd_emmc_b {
        status = "okay";
        pinctrl-0 = <&sdcard_pins>;
        pinctrl-names = "default";

        bus-width = <4>;
        cap-sd-highspeed;
        max-frequency = <100000000>;
        disable-wp;

        cd-gpios = <&gpio CARD_6 GPIO_ACTIVE_HIGH>;
        cd-inverted;

        vmmc-supply = <&tflash_vdd>;
        vqmmc-supply = <&tf_io>;
};


Hangtimer steps in on mmc_rescan

Code: Select all
[ 3195.819761] "echo 0 > /proc/sys/kernel/hung_task_timeout_secs" disables this message.
[ 3195.830442] kworker/1:1     D    0  1735      2 0x00000000
[ 3195.832758] Workqueue: events_freezable mmc_rescan
[ 3195.837458] Call trace:
[ 3195.839826] [<ffff000008085690>] __switch_to+0x90/0xa8
[ 3195.847462] [<ffff000008751e00>] __schedule+0x1b0/0x598
[ 3195.850140] [<ffff000008752220>] schedule+0x38/0xa0
[ 3195.854956] [<ffff0000085bf08c>] __mmc_claim_host+0x84/0x188
[ 3195.863469] [<ffff0000085bf1b8>] mmc_get_card+0x28/0x38
[ 3195.865818] [<ffff0000085c7738>] mmc_sd_detect+0x18/0x70
[ 3195.871003] [<ffff0000085c1e64>] mmc_rescan+0x19c/0x360
[ 3195.879454] [<ffff0000080cfe78>] process_one_work+0x1d0/0x378
[ 3195.881878] [<ffff0000080d0068>] worker_thread+0x48/0x488
[ 3195.887195] [<ffff0000080d5f78>] kthread+0xf0/0x120
[ 3195.892013] [<ffff000008082ec0>] ret_from_fork+0x10/0x50
[ 3810.198814] INFO: task kworker/1:1:1735 blocked for more than 120 seconds.


any Idea how to fix that?
KARL23
 
Posts: 5
Joined: Sun Jun 26, 2016 10:59 pm
languages_spoken: english
ODROIDs: c1, c2,xu4

Re: Odroid C2 mainline kernel support

Unread postby feoman » Mon Jan 30, 2017 10:22 pm

Hello, don't know if it is the right place to ask this doubt (sorry in advance)

The work that is being done and posted in this thread implies that eventually there will be a OS version with a more updated kernel?

Thanks
feoman
 
Posts: 8
Joined: Fri May 13, 2016 5:17 am
languages_spoken: english
ODROIDs: c2

Re: Odroid C2 mainline kernel support

Unread postby umiddelb » Tue Jan 31, 2017 11:05 pm

@KARL32,

honestly I have no idea. I would buy an eMMC module. It is supposed to be more reliable than a µSD card.
umiddelb
 
Posts: 401
Joined: Thu Jan 29, 2015 6:42 am
languages_spoken: English, German
ODROIDs: ODROID-C1, ODROID-XU4, ODROID-C2

Re: Odroid C2 mainline kernel support

Unread postby moon.linux » Wed Feb 01, 2017 3:26 am

Dose any body get the drm to work on odroid C2, latest changes have hdmi and drm patches.
moon.linux
 
Posts: 761
Joined: Thu Oct 02, 2014 11:42 pm
languages_spoken: english

Re: Odroid C2 mainline kernel support

Unread postby daggs » Fri Feb 03, 2017 10:39 pm

moon.linux wrote:Dose any body get the drm to work on odroid C2, latest changes have hdmi and drm patches.

can you provide a link?
daggs
 
Posts: 152
Joined: Tue Mar 22, 2016 6:34 pm
languages_spoken: english, spanish
ODROIDs: odroid c2

PreviousNext

Return to General Chat

Who is online

Users browsing this forum: No registered users and 3 guests