IRC log of #cubox of Mon 09 Sep 2013. All times are in CEST < Back to index

00:01 rabeeh this is really strange
00:01 rabeeh on a gig link, running iperf shows ~410Mbps with no error packets
00:02 rabeeh forcing link to 100Mbps via mii-diag and rerunning shows 82Mbps with few hundreds of received error packets
00:02 rabeeh CuBox-i
02:11 cbxbiker61_ cubox-i is definately getting more press than the original cubox did, it's even on tomshardware and that site mostly covers windows/intel developments
04:13 dbsx wifi: the 3.11 kernel has CONFIG_BRCMFMAC and CONFIG_BRCMFMAC_SDIO which I glean from the documentation supports AP mode. Firmware is required (no big deal). Monitor mode (new), IBSS supported.
10:17 rabeeh dv_: so you got it working? https://github.com/dv1/gst-fsl/commit/ac1dc7a8f27d2827cd92f27ab74e88ab989227e1
10:17 rabeeh the deinterlacing? can u tell about the quality?
10:34 dv_ rabeeh: how much of my response did go through?
10:58 _rmk_ dv_: I saw nothing after rabeeh's comments on the channel, apart from joins/parts
10:58 dv_ ah
10:58 dv_ alright
10:58 dv_ rabeeh: there are two deinterlacing modes. both are described as "motion-adaptive". one is the "slow-motion" mode, the other is the "fast-motion". there seems to be a third one, but I havent seen it documented anywhere.
10:59 dv_ the fast mode uses 1 input frame for 1 output frame. as the name says, it is better suited for scenes with fast motion. the slow mode uses 2 input frames for 1 output frame, in a rolling fashion. that is, you always take the current and the previous input frame and use them for deinterlacing. better suited for slow motion scenes.
10:59 dv_ the slow mode tends to deliver better quality (fast mode can introduce interpolation-like artifacts between lines), but looks a bit weird in fast scenes, although I havent done much with it. currently, only the fast mode is in the code. I am working on integrating the slow mode properly.
10:59 dv_ thats about it.
11:00 rabeeh dv_: and that part is not programmable - right? it's not a firmware.
11:00 dv_ I am not sure. it may be. but I do not know how.
11:01 dv_ I stumbled upon a HUGE PDF for the imx6. 51 MB, over 5000 pages.
11:02 dv_ hmm okay, it doesn mention "programmable" in the deinterlacer
11:04 dv_ here: http://cache.freescale.com/files/32bit/doc/ref_manual/IMX6DQRM.pdf
11:05 rabeeh :0
11:05 rabeeh that pdf should be with special request :)
11:06 dv_ hm?
11:06 rabeeh i mean you create a username, then ask specifically for the user manual and then you get the link. bravo fsl :)
11:06 dv_ ah :)
11:06 dv_ well I found it through google.
11:07 dv_ if access is supposed to be restricted, then their IT department needs to learn a thing or two about security :)
12:24 rabeeh really strange things happening here with the ethernet phy
12:24 rabeeh if i connect gig; works without issues; if i force to fast ethernet, i get tons of receive errors
12:25 rabeeh if i connect a fast ethernet (i.e. without forcing to fast) then works without issues
12:25 rabeeh i wonder if mii-diag is buggy?
13:04 jnettlet rabeeh, is duplexing not being re-negotiated properly?
13:08 jnettlet I would also suggest testing with another switch preferably from another manufacturer just to make sure it isn't specific to the current combo
13:25 _rmk_ dv: there's bugs in the vivante GPU MMU code which could be a cause of AXI bus errors (it can corrupt its own free list)
13:26 _rmk_ I just got sick of that code, and replaced it with a Linux bitmap based allocator
13:27 _rmk_ you can't end up with a corrupted linked list with a bitmap :)
13:28 jnettlet Is that a challenge?
13:29 _rmk_ yes, and good luck with it... a bitmap where a '1' indicates used and '0' free doesn't have any linking so there isn't a linked list to corrupt
13:33 dv_ _rmk_: bummer
13:33 jnettlet how many bits are you using to track state?
13:33 dv_ _rmk_: does this make the GLES video sink output a no-go?
13:33 dv_ (without modifications like the bitmap you mentioned)
13:59 _rmk_ jnettlet: one bit per entry, which with the standard mmu size of 128k, means a bitmap size of 16k
14:00 _rmk_ its just a bitmap of which entries in the table are in-use
14:00 _rmk_ and we have functions which find areas of contiguous zero bits (bitmap_find_next_zero_area)
14:01 jnettlet interesting. I haven't run across that before.
14:03 jnettlet always something new and fun to find out about in the kernel
14:06 _rmk_ it all started because when the MMU search wraps around, it doesn't reset "previous" which then causes it to corrupt its linked list
14:07 _rmk_ so I was getting "MMU table correcupted at index ..." messages
14:08 _rmk_ that's because the heapList pointer ended up pointing at an allocated entry
14:11 _rmk_ personally, I think if Vivante didn't spend so much time writing functions with all the crap argument verification all over the place, and spent more time thinking about the algorithms, their code might be a whole lot better. (by that I mean... better mmu handling, ineffectual signal waits in the presence of signals, races in the event code, abusing the kernel APIs to name a few...)
14:12 _rmk_ and I can't understand why they insist on using their abstracted functions in OS specific code
14:12 _rmk_ it's... OS specific code, there's no point abstracting OS specific functions in OS specific code.
14:13 _rmk_ and why they use GFP_ATOMIC all over the place, which eats into the "safe" memory pools designed for handing out memory for interrupt handlers and the like, where page reclaimation is difficult...
14:13 _rmk_ its not like any of these places is allocating memory from such contexts
14:15 _rmk_ my overall view of the vivante GPU code is its standard vendor crap designed to look like they have a software quality process, but because they're soo caught up in that, it blinds them to writing good code to start with
14:21 jnettlet All this reminds me of a lot of the Chinese development teams I have worked with. They have a process and one way to things and that is just how it is done.
14:22 jnettlet When one way is found to work that is just how it is used until it doesn't work any longer.
14:35 dv_ perhaps somebody over there is enforcing coding guidelines and standards no matter how stupid they are
14:36 _rmk_ have you ever heard of a memory copy which can return an error?
14:36 dv_ "its in the rule book, you must do it! logic and reason are not mentioned in the rule book!"
14:36 _rmk_ vivante seems to require every function they wrap to be able to return a gceSTATUS, including memcpy and memset
14:36 dv_ well, I guess thats another rule that defies reason :)
14:37 dv_ anyway, I'll continue with my gles work, AXI bus error or not
14:38 _rmk_ dv: I feel that there's a gceSTATUS value appropriate here... gcvSTATUS_TOO_COMPLEX :)
14:38 dv_ :)
14:38 dv_ you know what would be perfect? a gceStrerror which also returns an error code
14:39 dv_ gcvSTATUS_ERRROR_NO_ERROR
14:40 _rmk_ dv: you should know full well that would be implemented as: gceSTATUS gckKERNEL_StrError(IN gceSTATUS Status, OUT gctSTRING String);
14:41 _rmk_ and String must be large enough to hold the error string, which will be copied using gckOS_MemCopy() which might fail, so obviously this has to return an error. :)
14:42 dv_ russian error dolls
14:42 Coolgeek yo dawg, I heard you like checking error...
14:42 jnettlet bwahahaha
15:09 rabeeh jnettlet: duplex negotiated ok
15:10 rabeeh it's only when forcing a link of 100mbps on a 1gbps switch makes those weird received packets.
15:12 jnettlet Is the switch trying to use jumbo packets still?
15:12 rabeeh nop
15:12 rabeeh 1.5k mtu
15:12 rabeeh it's as follows -
15:12 rabeeh link 1gbps; iperf works ok
15:12 rabeeh mii-diag -P 100baseTx
15:13 rabeeh link 100mbps; but iperf looses lots of packets due to errorneous received packets on the i.MX6 side
15:13 rabeeh maybe mii-diag is doing more than just forcing the speed.
15:13 _rmk_ tried using the more modern ethtool instead?
15:15 _rmk_ ethtool -s eth0 speed 100
15:16 jnettlet dv_, looks like the most recent batch of changes has finally fixed Linaro's openembedded toolchain. Finally getting a working image with iwmmxt enabled.
15:17 rabee 15:17 * rabeeh rebuilding ethtool
15:21 rabeeh # ethtool -s eth0 speed 100
15:21 rabeeh Cannot advertise speed 100
15:21 rabeeh the driver is probably missing some ioctls()
15:22 _rmk_ that sucks
15:27 rabeeh http://www.youtube.com/watch?v=V6dC2lJNFMQ
15:28 rabeeh was just uploaded
15:31 jnettlet oh that does suck
15:31 jnettlet not the video, the 100Mbps fail
15:33 rabeeh and the video?
15:33 rabeeh :)
15:33 rabee 15:33 * rabeeh hates videos.
15:34 bencoh :)
15:34 jnettlet video is good :-)
15:52 Coolgeek rabeeh: is it you in the video ?
15:55 dv505 XBMC looks smooth in the video. Is that the standard Android version, or did you compile a version with custom changes?
15:56 jnettlet an xbmc on android with hardware decoding was finally released last week.
16:12 rabeeh Coolgeek: yes.
16:12 rabeeh dv505: standard version apk; just installed and played a sample video
16:13 rabeeh jnettlet: that's not the version we are using.
16:14 rabeeh 44c on the outer case after GPU is heavily rendering the GUI
16:14 rabeeh ambient was about 29c
16:50 dbsx Rabeeh what is the power overhead of adding wifi and bluetooth? And do they use any power when the drivers are absent?
16:51 rabeeh we don't have final measurements; but specs shows around 300mA on 5V rail (i.e. 1.5W)
16:51 rabeeh when there are no drivers, even if the chip is out of reset it almost takes no power
16:52 dbsx so at user level radio off would be low power too(I guess)?
16:55 rabeeh yes
16:59 lubiana so ehm, i guess this is a newbie question, but is there a kernel available with the dm_mod module?
17:00 lubiana i am trying to set up a system with full disk encryption, but fail at this early stage
17:02 lubiana maybe this is interesting too: i first installed the debian headless from the cubox installer but now debootstrapped debian to an usb stick
17:03 lubiana and i want to use cryptsetup to create an encrypted volume on the sdcard
17:13 TrevorH1 I've just used cryptsetup on debian wheezy as a test on an lvm LV
17:13 TrevorH1 no idea if you can do FDE though
17:16 lubiana well, i now tried the archlinuxarm kernel for cubox and aes-cbs driver seems to be integrated
17:17 lubiana but i am meeting with a friend later and try to cross compile a kernel
17:17 lubiana iirc the debian kernel had the device-mapper integrated but not the crypto part
17:18 lubiana but well i will learn a lot about compiling my own kernel today :D
17:24 TrevorH1 apt-get install cryptsetup ran update-initramfs for me
19:19 _rmk_ rabeeh: you know that some toslink cables won't fit in a square hole?
19:19 rabeeh _rmk_: yes. there are models that don't fit
19:20 rabeeh but most of the models we found here do fit
19:20 _rmk_ I ended up making mine larger - both the ABS and the metalwork inside
19:20 rabeeh aargh
19:23 rabeeh at the beginning of the mechanical design, we tried putting the SPDIF in the back; but there is no place for it.
23:07 Loic_ Hi there
23:07 Loic_ nice to meet you all
23:08 Loic_ One question: when would arrive the cubox i4 if I buy it today?
23:48 mhoney I ordered my i4 today.. cant wait