IRC log of #cubox of Sun 22 Dec 2013. All times are in CET < Back to index

01:43 Wizzup What is the carrier one and how is it different from cubox-i?
06:29 jnettlet Wizzup, The Carrier-1 was the early reference design provided to the development community to start support for the Cubox-i. It is now a product called the HummingBoard
07:02 dbsx jnettlet: any luck with a debug uboot?
07:02 jnettlet dbsx, still waiting to get the i4pro config rabeeh is using for the cubox-i's
07:04 jnettlet dbsx, I can try to build you one with my standard C1 config. In theory it should work fine, I just haven't tested it.
07:05 dbsx whichever option you think best. I can wait a day for rabeeh. It would seem the uboot actually starts OK, but then craps itself after a random period
07:06 jnettlet that is why I am interested in getting some debug output.
07:07 dbsx me too
07:07 jnettlet are you testing over a serial console, or via hdmi console?
07:07 dbsx both. I tried just console, and I tried just HDMI and I tried both
07:08 dbsx The HDMI display does not last for long (2 secs?)
07:09 jnettlet oh so it is getting that far? interesting.
07:09 jnettlet usb and or ethernet plugged in?
07:10 jnettle 07:10 * jnettlet will be right back. dogs just woke up and need to go out
07:11 dbsx HDMI I occasionaly get to see the SR logo and some ubootish output (@60 HZ), then the monitor switches to 70HZ and goes crazy or blank. Most times the HDMI output is just blank
07:15 dbsx see http://pastebin.com/xwWqJGtX for all of my console output (with lots of power ons when it stops)
07:25 jnettlet dbsx, oh the monitor switches to 70hz, that means there is some clock instability.
07:25 jnettlet the HDMI clocks are a bit off in u-boot I still need to fix that.
07:27 dbsx ok, the big hassle is that it will just freeze up when console only and intterupted. It means I do not get very far
07:34 jnettlet let's try a debug build using my using config. That should be close enough to figure out what is up.
07:34 dbsx ok. let me know where to get it
07:41 jnettlet dbsx, https://dl.dropboxusercontent.com/u/736509/c1_debug/u-boot.imx
07:43 dbsx ok, where do I 'dd' it on the SD. ?
07:44 jnettlet oh sorry. Are you on windows or linux?
07:44 dbsx linux
07:46 dbsx I can remember rabeeh posting a dd command for replacing uboot, I cant remember where I saw it though
07:49 jnettlet ok yep, put the sdhc card in your box and get the root device, not the partition. So /dev/sdc or /dev/mmcblk0 you can see that in dmesg
07:50 jnettlet the use sudo dd if=/path/to/u-boot.imx of=/dev/devicefound bs=512 seek=2 conv=fsync
07:50 jnettlet Then move the sdhc card back to the cubox-i, power it on and hopefully we will get some debug output to the serial console
07:51 dbsx ok . fsync rather sync?
07:53 jnettlet dbsx, yeah fsync is the linux variant
07:58 dbsx dd if=u-boot.imx of=/dev/mmcblk0 bs=512 seek=2 conv=fsync
07:59 dbsx can get to uboot. no front led, nothing happens other than red light at optical plug
08:00 dbsx using a SR transcend SD
08:05 dbsx I just needed to wait a few minutes for console output to appear
08:05 dbsx http://pastebin.com/VayQzGar
08:16 jnettlet looking
08:24 dbsx jnettlet: tried a few more times. Sometimes it stops very early, like at "Reserving ..."
08:25 jnettlet dbsx, but it never boots all the way up with this u-boot?
08:27 dbsx no, with the original uboot I got as far as loading kernel once. It stops at random place (if I can trust the console output)
08:28 jnettlet dbsx, okay lets try something crazy. let me give you the original ddr timings we had for that board. Just to see if there is any difference.
08:28 dbsx See http://pastebin.com/4KTAzKtZ for another boot
08:28 dbsx ok
08:29 jnettlet you can download the new image from the same URL
08:29 dbsx ok, doing it. Give 10 mins
08:35 dbsx Stops @ "new stack pointer is:", no HDMI output
08:37 jnettlet okay one more thing I want to try.
08:37 dbsx hmm
08:39 jnettlet okay another image there to try
08:39 jnettle 08:39 * jnettlet looks to check errata and upstream patches
08:45 dbsx 4 power ons and nothing happens. 5th power on I get as far as "fec_mii_setspeed: mii_speed 0000000a", then stops
08:46 dbsx 6th boot outputs the first 5 lines only
08:49 dbsx The good news is that I am getting very skilled at extracting and inserting micro SDs
08:50 jnettlet dbsx, this is nothing compared to when I was doing the u-boot 2013 bringup for the board :-)
08:51 jnettle 08:51 * jnettlet is looking.
08:53 dbsx making coffee, back shortly
08:55 jnettle 08:55 * jnettlet thinks more coffee is a fine idea
09:11 dbsx verified that my input voltage is 5.17V rock steady (meanwell) 3A
10:08 jnettlet dbsx, still around. I want you to try another build if you have time.
10:17 dbsx ok
10:17 dbsx let me know when ready
10:20 jnettlet dbsx, all ready for download
10:20 dbsx ok
10:26 dbsx better, first shot got to the uboot prompt. Then froze. Have not been able to repeat it (yet)
10:27 jnettlet not been able to repeat getting to the uboot prompt and freezing, or not even getting to the uboot prompt?
10:27 jnettlet s/been/being/
10:29 dbsx not getting to the uboot prompt. freezes up at random points. I can paste the log that got to the prompt if you want it
10:29 jnettlet sure
10:30 jnettlet rabeeh, ping
10:32 dbsx jn http://pastebin.com/ckxd3tak
10:40 dbsx jn, I think getting to the prompt was just good luck. Can't do it again
10:47 dbsx jn: BTW most times nothing at all shows on the console at POR
10:47 jnettlet dbsx, can you try unplugging you device and letting it set for 5 minutes and then attempt to boot it up. Perhaps the difference between that first successful boot and the others was a "cooldown" period
10:49 dbsx will do
10:55 dbsx disconnected evrything and tried it. Nothing showed on the console
10:57 jnettle 10:57 * jnettlet raises eyebrow in confusion
10:57 hste dbsx: could it be a bad power adapter?
11:00 dbsx The power adapter is very stable (meanwell) 5V/3A . I have tried 2 others which are also known to be good. Output is a stable 5.17 volt. 2.1/5.5/(11)
11:03 dbsx jnettlet: The only thing I have established is that the device (sometimes) loads uboot (db frowns)
11:03 jnettlet dbsx, and you have tested other sdhc cards right?
11:04 dbsx Yes. I can try another if you like. I am currently using a 4GB transcend from SR which accompanied the i4pro
11:05 jnettlet dbsx, try another just to verify the behavior doesn't change
11:06 dbsx ok
11:06 jnettlet I am looking into how early I can get serial output out of uboot
11:12 rabeeh damn it; my internet connection is loose today
11:12 jnettlet rabeeh, figured something like that.
11:13 jnettlet rabeeh, dbsx is having some u-boot issues on his i4pro. It is hanging at various places.
11:13 rabeeh i'v noticed that
11:13 rabeeh in his dump is running c1 u-boot ?
11:14 rabeeh i can see that from the prompt
11:15 jnettlet rabeeh, he is just using my c1 config, but it is compiled for the i4pro
11:15 jnettlet I just noticed your patches didn't include the new config file for the cubox-i
11:19 Wizzup jnettlet: so if a news item says there is some support for the carrier-one in mainline,this does not apply to cubox?
11:19 Wizzup cubox-i
11:20 jnettlet Wizzup, they will apply to the cubox-i
11:21 jnettlet depending on the model you will need a new device-tree file. U-boot is different because it needs to setup the different types of DDR
11:22 Wizzup cool, and @ dt, makes sense
11:22 jnettlet Wizzup, if I remember correctly you only care about the non-media portions of the board.
11:23 Wizzup yep
11:23 Wizzup sata,eth,usb,microsd mostly
11:23 jnettlet then you should be fine.
11:23 Wizzup (well, O know i1 has no sata)
11:23 Wizzup ty
11:33 dbsx So uboot gets loaded from the second 1M on the SD ? true/false
11:34 jnettlet dbsx, 1K
11:35 jnettlet the blocksize is 512 bytes and we seek in 2
11:35 dbsx aha
11:36 jnettlet you can also do bs=1K seek=1
11:37 dbsx prepping a new 8GB card
11:39 jnettlet as long as you start your first partition on sector 2048 you should be fine.
11:39 jnettlet basically GPT style is safest.
11:56 dbsx so now we have tried 3 different SDs transcend, sandisk and ultima with the same result
12:01 dbsx giving up for a while
12:03 jnettlet dbsx, okay that rules that out then.
12:06 hste jnettlet: how is it going with vpu and xbmc?
12:06 jnettlet hste, I haven't had any time to look at it yet.
12:07 dbsx jnettlet: Do you know of anyone(including rabeeh) that can boot an i4pro?
12:08 jnettlet dbsx, rabeeh has done a lot of testing with u-boot on the i4pro
12:09 jnettlet it is possible you got a bad DDR3 chip.
12:11 dbsx yes, somethings certainly different. I'm off to watch a video on a Cubox (XBMC)
12:20 _rmk_ jnettlet: just been looking at the composite stuff in my xorg driver again, with reference to the imx-drm docs.
12:21 _rmk_ err, imx docs
12:21 _rmk_ interesting that the imx docs suggest that it can do ROP and alpha-blend together
12:22 _rmk_ whereas the library headers talk about "Enable alpha blending engine in the hardware and disengage the ROP engine."
12:23 _rmk_ I think I trust the headers on this one :)
12:23 jnettlet _rmk_, in all the docs I have read that is the case
12:25 _rmk_ I've also been trying to trace some of the X servers CPU usage... hardly surprising where it ends up despite trying not to bounce bos between the CPU and GPU...
12:26 _rmk_ one case which really hurts at the moment is this:
12:26 _rmk_ 4.251665537: vivante_set_pixmap_bo: 0xb72000a0, 1920x1080 fmt 211 type
12:26 _rmk_ 2
12:26 _rmk_ (new pixmap 1920x1080 allocated)
12:26 _rmk_ 4.251741515: vivante_PolyFillRect: D0xb7200190 G0xb6f990e0 n1
12:26 _rmk_ 4.251783863: vivante_map_gpu: 0xb72000a0 -> GPU
12:27 _rmk_ (gets mapped to GPU for the fill)
12:27 _rmk_ 4.376975417: vivante_fill: disable alpha blend
12:27 _rmk_ ^^^ see how long that took...
12:27 jnettlet wow
12:28 jnettlet why is that taking so long?
12:28 _rmk_ that's what I'm trying to track down
12:30 jnettlet that is just translated into gckOS_MapUserMemory in the kernel
12:30 _rmk_ a good test for this is merely to start up gnome... one of the things it does very shortly after X "looks" initialised is it fades out the existing background while fading in the new background (which is the same!) and it hits this pretty badly
12:30 _rmk 12:30 * _rmk_ blames the gnomes for that
12:31 _rmk_ yea, and gckOS_MapUserMemory() translates into flush_dcache_page() for each and every page
12:31 _rmk_ (inside get_user_pages())
12:32 _rmk_ I need to check that we're not doing something stupid like double-flushing (with flush_dcache_page + flush_anon_page being together)
12:33 _rmk_ either way, 120ms is far tooooooo long
12:34 _rmk_ I can probably get around this by passing them via dma_buf instead but I need to make sure that nothing horrid can happen with the cpu cache
12:36 _rmk_ btw, the timing measurements are made via clock_gettime(CLOCK_PROCESS_CPUTIME_ID, ...) so they're unaffected by other processes
12:40 rabeeh dbsx: i'm a bit lost. did you try the image on the getting started link
12:40 rabeeh the email i'v got from you shows 'data abort' !
12:40 rabeeh as if something really bad happened.
12:41 jnettlet rabeeh, he was first using that image when we started debugging yes.
12:42 jnettlet _rmk_, might be worth checking if you are getting caught up trying to get a Mutex or Semaphore lock in gckOS_MapUserMemory.
12:43 jnettlet A lot of my performance increases have been reducing lock contention
12:44 jnettlet If you enable gcdDETECT_TIMEOUT it should give you some useful info
12:44 _rmk_ yea, my view of vivante's approach to locking is they seem to like covering code with lots of locks "just in case" without really thinking about it
12:44 jnettle 12:44 * jnettlet has to go out the dogs are starting an uprising as their walk is quite late.
12:44 _rmk_ jnettlet: you need self-walking dogs
12:45 hste jnettlet: what sort of dogs do u got?
12:45 jnettlet _rmk_, I grew up with those, but society seems to afraid to deal with it at this point
12:45 _rmk_ jnettlet: or maybe you can get that confused.com robot to walk them for you :)
12:45 jnettlet hste, mutts. Italian Greyhound/Dauschund mix, and a Lab, Husky, Basset Hound mix
12:46 hste :) I have a terrier/chiuaua mix
12:46 jnettlet ultimately the dog walking is good for me. Gets me out of the house and away from the computer for a while.
12:46 _rmk_ true
12:47 jnettlet hste: https://lh3.googleusercontent.com/-M85y_TSrBxg/Uk2vpID4EnI/AAAAAAAAFSY/RZqnFKHPArk/w1081-h811-no/IMG_20131003_193307.jpg
12:49 jnettlet _rmk_, let me know what you find out. After I finish getting the VPU working I was going to finish porting your newest drm patchset to my 3.10 tree and test that.
13:22 dbsx I used the image on the getting started link
14:03 _rmk CPU -> GPU pixmap bouncing (which the i915 driver could also do with)
15:06 taz hi
15:06 taz hi rabeeh ! :)
15:06 taz rabeeh: did you recievied my postal card ?
15:13 jnettlet _rmk_, any luck with the long mapping time?
15:13 _rmk_ jnettlet: not yet, I've already dealt with the locking there
15:14 _rmk_ I've changed ChangeWindowAttributes so it doesn't cause unnecessary GPU->CPU fallbacks which gets rid of one source bouncing
15:16 _rmk_ the other places which bounce stuff back and forth is the compositing stuff, particularly with glyphs - I can get rid of some of that by caching glyphs in a much larger pixmap (thereby avoiding the silly cost of lots of small pixmaps) which should help glyph stuff but its still going to bounce stuff because the final composite needs component alpha and the vivante gpu can't do that
16:21 rabeeh taz: hey - we have got the post :)
16:21 rabeeh Riki got the card 2 weeks ago and then she told me someone sent love letter to SolidRun and then I explained to her all about you.
16:21 rabeeh Thank you a lot for it.
16:26 taz hey cool! :)
16:27 taz see you
16:31 jnettlet "A love letter to SolidRun"...bwahahaha...how cute.
16:35 jnettlet _rmk_, what has always angered me about that part of the RENDER extension, is that RENDER is supposed to be based on the Porter-Duff rendering method which most 2d compositing engines are written to support. Then they add crap like component alpha rending, which virtually no hardware supports and even with opengl you end up doing multiple passes.
16:36 jnettlet And all that to just render text.
16:37 jnettlet I guess the other option would be to do what Android does, which is almost nothing and just wait for a 1080p resolution on a 5" screen, so you don't need subpixel rendering :-)
17:33 ssvb jnettlet: it's more like the other way around - the hardware vendors had enough time to design the hardware, which can fully support RENDER extension
17:34 jnettlet ssvb, why on earth would the hardware vendors create hardware around an Xorg only feature?
17:34 ssvb jnettlet: component alpha is used for subpixel antialiased fonts
17:35 ssvb jnettlet: because Xorg is used by a certain percent of their users?
17:35 jnettlet hahahaha
17:36 Coolgeek jnettlet: you forgot that : "hahaha"
17:36 jnettlet I love Linux and have been developing for Xorg for years, and we are not even close to 1% of any graphics makers users
17:37 jnettlet Linux userbase is Servers, and embedded. Embedded does not use Xorg
17:37 ssvb jnettlet: well, it's up to the hardware vendors to release the joke of "accelerated" X drivers, make clowns out of themselves and be squashed by mere software rendering ;)
17:39 jnettlet How do they make clowns of themselves? All drivers need to start somewhere.
17:40 jnettlet Really Xorg is the problem, and the solution has been to dump 2d rendering altogether like in Wayland and Android and only use the 3d engine because GLESv2 is a standard that you can expect hardware vendors to adhere to.
17:41 jnettlet If you say RENDER is based on the PorterDuffy standard and the hardware vendors don't support it you can complain. If you start doing your own thing, then it is your problem.
17:42 jnettlet That has always been the hardest part of developing in the Xorg community. The developers always whining about how hardware vendors are idiots and their way is best. Their attitudes have been part of why most hardware vendors have not wanted anything to do with helping out.
17:43 ssvb jnettlet: Xorg supports GLESv2 just fine, wayland would have been a better solution if it could utilize the fixed function 2D hardware acceleration engines
17:43 ssvb jnettlet: I mean utilize them better than Xorg
17:44 jnettlet ssvb, Xorg supports GLESv2 through glamour, which someone made work.
17:44 jnettlet Xorg itself didn't even bend to accommodate some of the problems the developers came across
17:45 ssvb jnettlet: you got it backwards, glamor actually implements RENDER on top of GL, that's a compatibility layer
17:45 ssvb jnettlet: the GL/GLES drivers themselves have nothing to do with glamor
17:46 jnettlet ssvb, first GL has nothing to do with any of this. Xorg has nothing to do with GLES support. All of this is supported through the drivers.
17:47 ssvb jnettlet: yes, and your question is?
17:47 jnettlet glamor allows the DDX driver to accelerate the RENDER extension via GLESv2 hardware
17:48 ssvb jnettlet: please define "accelerate". Is it making things faster? Or just forcing the pixels to pass through GPU no matter the cost?
17:49 jnettlet give me a break. I don't have time for your trolling.
17:51 ssvb jnettlet: lol, a good try evading the most important question :)
17:52 ssvb jnettlet: and btw, afaik PorterDuff is not a standard, that's just an old paper
17:53 ssvb jnettlet: the real standard is something like SVG specification
19:29 Matoking Updated my i2Ultra order to i4Pro :P
19:58 Bluerise rabeeh?
20:41 jnettlet dv, do you know if the gst-plugins 3.5.7 for fsl need any patches to work properly. The linking seems to be a complete mess.
20:53 jnettlet _rmk_, does your /proc/cpuinfo have anything for Revision: after booting from device-tree?
20:56 _rmk_ Revision : 0000
20:58 jnettlet yep, I think I need to add something to u-boot to get that to report back. Stupid userspace libs parse that for library loading and such.
20:59 jnettle 20:59 * jnettlet wonders if it can just be added to device-tree
21:01 hste jnettlet: we had sth on that on gk802 https://github.com/imx6-dongle/uboot-imx6dongle/commit/30b74222a02c673814798271bd7f1b829919b485
21:02 jnettlet hste, yeah that is what I was looking at doing. But then I would need to return different values for the different boards. Will make things a little more annoying for SPL
21:02 jnettle 21:02 * jnettlet would be happier to just something to device-tree
21:04 jnettlet nope looks like it just reads the value for the atags
21:05 jnettlet :-(
21:17 jnettlet hste, I have CONFIG_REVISION_TAG set which in the new u-boot should be autogenerating that tag.
21:20 hste jnettlet: more on this here https://community.freescale.com/thread/305396
21:20 hste CPU id is 0x62 in mainline u-boot, but in vpu lib, it still detects 0x63 or 0x61
21:21 jnettlet hste, ah that is the patch I needed. thanks
21:24 jnettlet hste, oh man that thread is awful. They are trying to fix this in three different places. Obviously that hasn't happened.
21:25 jnettle 21:25 * jnettlet is going to add a device-tree parser for this then. If freescale can't get it together in u-boot/kernel/userspace libraries
21:26 jnettlet _rmk_, Any input ^^^
21:33 rabeeh Bluerise: here
21:34 Bluerise rabeeh: I see that for example C1 Solo and Quad differ in the RAM settings. Can that be auto configured or does it have to be u-boot-blob-specific?
21:34 Bluerise We were wondering how to integrate 8 different u-boots, and it might just be easier to let the user do that...
21:47 _rmk_ jnettlet: what are they trying to do with this?
21:47 _rmk_ detect the SoC type?
21:48 _rmk_ it it something that /sys/devices/soc0/soc_id doesn't provide?
21:49 rabeeh i have a funny story to tell; Bluerise: yes it's possible; this is SPL support that will be added in some time
21:50 Bluerise Funny story?
21:50 rabeeh oh;
21:50 rabeeh two different windows
21:50 Bluerise I'm always interested in stories. Even more in funny ones. ;)
21:50 rabeeh sorry; i'm having a nervous breakdown
21:51 rabeeh oh; the funny story is that when the operations guy comes to the office then the firewall (brand name) reboots
21:51 Bluerise Oh, that breakdown doesn't sound good.
21:51 rabeeh turns out that he connects via wireless and when clicking 'Get mail' on thunderbird the router reboots
21:51 Bluerise wow
21:51 rabeeh hehe... i just lost it for few minutes; broke something and i'm fine now :)
21:51 rabeeh Bluerise; and the firewall is a brand brand name :)
21:52 Bluerise If it's from the company I work for (as student currently), let me know. ;)
21:52 rabeeh i wonder how this could happen... at the beginning i though i was dreaming then i'v asked him to wait; i watched that LEDs on the power / status of the firewall and asked him to get mail
21:52 rabeeh and boom... :)
21:52 Bluerise But ours doesn't do that...
21:52 Bluerise nice
21:52 Bluerise There are some possibilities...
21:52 rabeeh it's probably the wifi firmware fault
21:53 Bluerise hmm
21:53 rabeeh they tend to be crappy.
21:53 rabeeh what do you think?
21:53 Bluerise it sounds possible
21:53 Bluerise probably not a software bug (the OS that is running, deep packet inspection or so)
21:53 Bluerise Could be the WiFi, yeah.
21:54 Bluerise On a rather unrelated note: I remember having seen a talk about "packets in packets"
21:55 Bluerise someone was transmitting data over some radio protocol
21:55 Bluerise the data he sent was basically also that radio protocol
21:55 Bluerise sometimes the radio had hiccups and didn't see the header of the actual packet, so it in the end treated the data as packet
21:56 Bluerise rabeeh: You could try to send the same packet via ethernet
21:56 Bluerise the only problem is that the mac addresses won't match
21:57 Bluerise so it's not 100% the same..
21:58 rabeeh wired works fine
21:59 Bluerise rabeeh: Does i.MX6 sd-card DMA need something special? I think I saw some co-processor which needed its own firmware?
21:59 Bluerise gotta check the RM
22:47 jnettlet _rmk_, well they are using a hex id to indentify the board revision. I guess we could rewrite the userpace to use soc_id instead.
22:48 jnettlet my guess is some of their binary blobs may do the same checks.