Archive for Uncategorized

Where is Mozilla’s Stand?

Africacom ended today, and I was hoping to see Mozilla’s stand. But there was none. Opera has been very noticeable in the last three years, and I managed to take a picture of its stand this year. Below is it, and I had a great time chatting with its employees at the stand. I am looking forward to seeing Mozilla’s and other prominent software companies’ stands.

Opera Software Stand

Opera Software Stand

Comments

WebRTC: Another Nightmare for Telecom Providers?

I wasn’t going to publish this blog post, until I noticed that Visionmobile and Tmcnet wouldn’t make my comments on their articles available to the public.

What fascinates me is that the authors of the articles (WebRTC May Radically Change Communications, WebRTC: a new game-changer, disrupting Telcos and OTTs) and I think alike. It reminds of the proverb, “Great minds think alike!!.” I was at the Meraka Institute,  Council for Scientific and Industrial Research (CSIR), South Africa, as a visiting researcher last July and gave a talk titled “WebRTC: Another Nightmare for Telecom Providers?”.

Below are the summary and the presentation slides.

Summary:

Web browsers will now use WebRTC (Web Real-Time Communication) to communicate with one another. WebRTC can also be used to communicate with existing telecommunication networks. As a result, voice services in existing telecommunication networks will likely drop as customers will pay more for data services in order to use WebRTC. In addition, the number of VOIP & IM applications on a PC would likely reduce. WebRTC is a game changer, and it is bound to take some of the market share of voice and data services from the telco operators. This talk will take a look at WebRTC and its potentials. It will also include a short demonstration.

Presentation Slides (in html)
Presentation at CSIR

Presentation at CSIR

Comments (1)

The <Video> Tag in HTML5

One of those things I like about HTML5 is being able to play a video file in a browser without specifying what plug-in to use. That’s what the <video> tag does, and it’s awesome. There are times things don’t play out like you wanted. I read a couple of blog posts on how best to make use of the tag, but they would not help that much. Here is a brief introduction to the project I am helping out with; it’s called “UCT MobiOpenCast.” It’s a prototype content aggregator for mobile devices that pulls feeds (video & text) from the #UCT hashtag in Youtube (at http://www.youtube.com/rss/tag/uct.rss) and the UCT opencast implementation (called matterhorn at http://media.uct.ac.za/engage/ui). It allows commenting on the presentations, and a user could search for a presentation from a long list.

For the last couple of weeks, we’ve been writing the app in HTML5. By the way, I used HTML5 to write my ePortfolio last year, and I liked it. For the mobile app, the <video> tag wouldn’t work the way we wanted it to work. Below is the part that plays video files.

<video id=”video_control” controls=”controls” autoplay=”autoplay”>
<source src=”<?php echo $_GET["vid"]; ?>” type=”video/mp4″ />
<source src=”<?php echo $_GET["vid"]; ?>” type=”video/x-msvideo” />
<source src=”<?php echo $instmedialist->getflashurl($_GET["vid"]); ?>” type=”application/x-shockwave-flash”/>
<embed id=”video_control”  src=”<?php echo $instmedialist->getflashurl($_GET["vid"]); ?>” />
Your browser does not support the video tag.
</video>

We’ve tested the application on various browsers, and the result is amazing. It revealed that the browser war isn’t over. Browsers (both mobile and desktop versions) will keep behaving differently. Video containers (such as AVI, OGG and MP4) wrap video files with different codecs; as a result, browsers can’t always play certain video files with using a plug-in. The containers and codecs used for the videos in this project are AVI(and FFmpeg MPEG-4 codec) and MP4(and MPEG-4 video codec). We couldn’t get any of the videos to play, most notably the MP4 files, without a plug-in. So, we got the Apple Quicktime. But none of the browsers save Safari would load quicktime over a small area of their rendering surfaces or their entire rendering surfaces.Below are the inferences we made from the work.

Quicktime plug-in won't load in a webpage in Firefox
Quicktime plug-in won’t load in a webpage in Firefox
Firefox loads quicktime plug-in and plays the video ONLY in its entire rendering area

Firefox loads quicktime plug-in and plays the video ONLY in its entire rendering area

Quicktime plug-in won't load in a webpage in Chrome
Quicktime plug-in won’t load in a webpage in Chrome
Quicktime plug-in won't load in the entire rendering area in Chrome
Quicktime plug-in won’t load in the entire rendering area in Chrome
Quicktime plug-in loads in a webpage in Safari
Quicktime plug-in loads in a webpage in Safari
Quicktime plug-in won’t load in a webpage in Internet Explorer 8
Quicktime plug-in won’t load in a webpage in Internet Explorer 8

In conclusion, H.264 seemed to be the de-facto codec but not all browsers support it. And when a plug-in is required, some browsers just won’t load the right/required plug-in. I am not sure if it’s a problem with the <video> tag, my lines of code (which I doubt!) or the codecs used. However, if we really want to embrace the awesomeness of the <video> tag, we need to have some codecs supported by all browsers without going to fetch a plug-in. By the way, I am also looking forward to opening a PDF document in a browser without a plug-inas promised by HTML5; I know there are many works in progress on all these issues. Above all, HTML5 makes web app development for desktop and mobile devices fun.

References:

http://www.0xdeadbeef.com/weblog/2010/01/html5-video-and-h-264-what-history-tells-us-and-why-were-standing-with-the-web/

http://www.webmonkey.com/2010/02/embed_audio_and_video_in_html_5_pages/

http://html5doctor.com/the-video-element/

https://developer.mozilla.org/En/Media_formats_supported_by_the_audio_and_video_elements

http://html5test.com/

http://www.w3.org/html/wiki/FAQs

http://www.w3.org/wiki/HTML/Elements/video#Formats_and_Codecs

Comments

The CPUT CRDOT

During the last business meeting in my department,  I unfolded the plans to get a software/research group (The CPUT CRDOT) running. Below is the summary of my talk. The CPUT Software House, which is mentioned below, is a group that has been in existence for sometime, but I am hoping that it would ‘absorb’ the CPUT CRDOT.

The CPUT Software House

Introduction
The CPUT Software House is in its premature stage at the moment. Currently referred to as the CPUT Centre for Research and Development in Open Technology (CRDOT), it is made of over 10 students across different levels. It focuses on teaching the students skills required in the industry using Open Technologies. In addition, it collaborates with firms, parastatals and NGOs to provide solutions to their immediate problems. It is currently working with the Material Science Research Group, Centre for Scientific and Industrial Research (CSIR), South Africa to port a health application from the Windows Operating System to the Andriod Operating System. The application, on completion, will run on a mobile device, for example an Internet tablet PC, that runs the Andriod OS.

Online Presence

• The CRDOT has a web presence at http://www.ngportal.com/cputcrdot/.

• In addition, it runs an IRC channel #crdot at the Freenode IRC network (irc.freenode.net).

• Its group mail (Google Group) is at http://groups.google.com/group/cputcrdot.

• It is in the process of moving it application servers to a local server (in South Africa) at the IP 196.211.3.108.

Partners
The centre is also closely working with various research groups and communities around the globe, such as the Serval Community, Flinder’s University, Australia; the CDOT, Seneca College, Canada and the VillageTelco, South Africa.

In closing, the centre is working hard to expand in terms of getting more students involved, getting additional servers, which will reside in the school and having a laboratory of its own in the school.

Comments

Fedora on Pandaboard

After running Android on Pandaboard [1, 2] for awhile, I decided to switch to Fedora. I also got Fedora running after some time; many thanks to the Fedora-arm team on the Freenode IRC channel #fedora-arm. Below are a screenshot of the Fedora CLI on Pandaboard, the Fedora boot log and an excerpt of my chat with the Fedora-arm team.

Fedora on Pandaboard

Fedora on Pandaboard

 

The Boot Log

Texas Instruments X-Loader 1.4.4ss (Mar  1 2011 – 23:55:13)
Reading boot sector
Loading u-boot.bin from mmc

U-Boot 2011.03-rc1 (Feb 09 2011 – 01:46:42)

CPU  : OMAP4430
Board: OMAP4 Panda
I2C:   ready
DRAM:  1 GiB
MMC:   OMAP SD/MMC: 0
Using default environment

In:    serial
Out:   serial
Err:   serial
Hit any key to stop autoboot:  0
reading boot.scr

254 bytes read
Running bootscript from mmc0 …
## Executing script at 82000000
reading uImage

2733352 bytes read
## Booting kernel from Legacy Image at 80000000 …
Image Name:   Linux-2.6.35-g6d019da-dirty
Image Type:   ARM Linux Kernel Image (uncompressed)
Data Size:    2733288 Bytes = 2.6 MiB
Load Address: 80008000
Entry Point:  80008000
Verifying Checksum … OK
Loading Kernel Image … OK
OK

Starting kernel …

Uncompressing Linux… done, booting the kernel.
Linux version 2.6.35-g6d019da-dirty (danders@ccd-dev) (gcc version 4.3.3 (GCC) ) #11 SMP PREEMPT Wed Sep 1 16:11:03 CDT 2010
CPU: ARMv7 Processor [411fc092] revision 2 (ARMv7), cr=10c53c7f
CPU: VIPT nonaliasing data cache, VIPT nonaliasing instruction cache
Machine: OMAP4430 Panda Board
Memory policy: ECC disabled, Data cache writealloc
OMAP4430 ES2.0
SRAM: Mapped pa 0×40300000 to va 0xfe400000 size: 0×100000
FIXME: omap44xx_sram_init not implemented
Reserving 33554432 bytes SDRAM for VRAM
PERCPU: Embedded 6 pages/cpu @c2d67000 s4000 r8192 d12384 u65536
pcpu-alloc: s4000 r8192 d12384 u65536 alloc=16*4096
pcpu-alloc: [0] 0 [0] 1
Built 1 zonelists in Zone order, mobility grouping on.  Total pages: 233576
Kernel command line: ro elevator=noop vram=32M root=/dev/mmcblk0p2 fixrtc console=ttyO2,115200 mem=460M@0×80000000 mem=460M@0xA0000000
PID hash table entries: 4096 (order: 2, 16384 bytes)
Dentry cache hash table entries: 131072 (order: 7, 524288 bytes)
Inode-cache hash table entries: 65536 (order: 6, 262144 bytes)
Memory: 460MB 256MB 204MB = 920MB total
Memory: 895208k/895208k available, 46872k reserved, 208896K highmem
Virtual kernel memory layout:
vector  : 0xffff0000 – 0xffff1000   (   4 kB)
fixmap  : 0xfff00000 – 0xfffe0000   ( 896 kB)
DMA     : 0xffc00000 – 0xffe00000   (   2 MB)
vmalloc : 0xf0800000 – 0xf8000000   ( 120 MB)
lowmem  : 0xc0000000 – 0xf0000000   ( 768 MB)
pkmap   : 0xbfe00000 – 0xc0000000   (   2 MB)
modules : 0xbf000000 – 0xbfe00000   (  14 MB)
.init : 0xc0008000 – 0xc0033000   ( 172 kB)
.text : 0xc0033000 – 0xc052e000   (5100 kB)
.data : 0xc052e000 – 0xc05934a0   ( 406 kB)
SLUB: Genslabs=11, HWalign=32, Order=0-3, MinObjects=0, CPUs=2, Nodes=1
Hierarchical RCU implementation.
RCU-based detection of stalled CPUs is disabled.
Verbose stalled-CPUs detection is disabled.
NR_IRQS:388
omap_hwmod: sys_32k_ck: missing clockdomain for sys_32k_ck.
omap_hwmod: l3_div_ck: missing clockdomain for l3_div_ck.
omap_hwmod: dpll_mpu_m2_ck: missing clockdomain for dpll_mpu_m2_ck.
omap_hwmod: gpio2: failed to reset in 10000 usec
omap_hwmod: gpio3: failed to reset in 10000 usec
omap_hwmod: gpio4: failed to reset in 10000 usec
omap_hwmod: gpio5: failed to reset in 10000 usec
omap_hwmod: gpio6: failed to reset in 10000 usec
omap_hwmod: gpu: cannot be enabled (3)
omap_hwmod: i2c1: failed to reset in 10000 usec
omap_hwmod: i2c2: failed to reset in 10000 usec
omap_hwmod: i2c3: failed to reset in 10000 usec
omap_hwmod: i2c4: failed to reset in 10000 usec
omap_hwmod: iva: cannot be enabled (3)
omap_hwmod: omap-mcpdm-dai: cannot be enabled (3)
GPMC revision 6.0
dmtimer.0: omap_dm_timer_probe:[id=0]
dmtimer.0:  registered
dmtimer.1: omap_dm_timer_probe:[id=1]
dmtimer.1:  registered
dmtimer.9: omap_dm_timer_probe:[id=9]
dmtimer.9:  registered
OMAP clockevent source: GPTIMER1 at 32768 Hz
Console: colour dummy device 80×30
Calibrating delay loop… 1195.29 BogoMIPS (lpj=4669440)
pid_max: default: 32768 minimum: 301
Mount-cache hash table entries: 512
CPU: Testing write buffer coherency: ok
Calibrating local timer… 292.27MHz.
L310 cache controller enabled
l2x0: 16 ways, CACHE_ID 0x410000c4, AUX_CTRL 0x0e070000
CPU1: Booted secondary processor
Brought up 2 CPUs
SMP: Total of 2 processors activated (2365.37 BogoMIPS).
devtmpfs: initialized
regulator: core version 0.5
NET: Registered protocol family 16
OMAP GPIO hardware version 0.1
PandaBoard Revision: 003
OMAP DMA hardware revision 0.0
dma dma.0: System DMA registered
bio: create slab <bio-0> at 0
SCSI subsystem initialized
usbcore: registered new interface driver usbfs
usbcore: registered new interface driver hub
usbcore: registered new device driver usb
i2c_omap i2c_omap.1: bus 1 rev4.0 at 400 kHz
Skipping twl internal clock init and using bootloader value (unknown osc rate)
twl6030: PIH (irq 39) chaining IRQs 368..387
regulator: VMMC: 1200 <–> 3000 mV at 3000 mV normal standby
regulator: VPP: 1800 <–> 2500 mV at 1900 mV normal standby
regulator: VANA: 2100 mV normal standby
regulator: VCXIO: 1800 mV normal standby
regulator: VDAC: 1800 mV normal standby
regulator: VUSB: 3300 mV normal standby
regulator: VAUX2_6030: 1200 <–> 2800 mV at 1800 mV normal standby
regulator: VAUX3_6030: 1000 <–> 3000 mV at 1200 mV normal standby
Advanced Linux Sound Architecture Driver Version 1.0.23.
Bluetooth: Core ver 2.15
NET: Registered protocol family 31
Bluetooth: HCI device and connection manager initialized
Bluetooth: HCI socket layer initialized
cfg80211: Calling CRDA to update world regulatory domain
Switching to clocksource timer-32k
NET: Registered protocol family 2
IP route cache hash table entries: 32768 (order: 5, 131072 bytes)
TCP established hash table entries: 131072 (order: 8, 1048576 bytes)
TCP bind hash table entries: 65536 (order: 7, 786432 bytes)
TCP: Hash tables configured (established 131072 bind 65536)
TCP reno registered
UDP hash table entries: 512 (order: 2, 16384 bytes)
UDP-Lite hash table entries: 512 (order: 2, 16384 bytes)
NET: Registered protocol family 1
RPC: Registered udp transport module.
RPC: Registered tcp transport module.
RPC: Registered tcp NFSv4.1 backchannel transport module.
omap-iommu omap-iommu.0: ducati registered
omap-iommu omap-iommu.1: tesla registered
iovmm-omap initialized ducati, major: 251, base-minor: 0
iovmm-omap initialized tesla, major: 251, base-minor: 1
dmtimer dmtimer.0: omap_dm_timer_probe:[id=0]
dmtimer dmtimer.1: omap_dm_timer_probe:[id=1]
dmtimer dmtimer.9: omap_dm_timer_probe:[id=9]
dmtimer dmtimer.2: omap_dm_timer_probe:[id=2]
dmtimer dmtimer.2:  registered
dmtimer dmtimer.3: omap_dm_timer_probe:[id=3]
dmtimer dmtimer.3:  registered
dmtimer dmtimer.4: omap_dm_timer_probe:[id=4]
dmtimer dmtimer.4:  registered
dmtimer dmtimer.5: omap_dm_timer_probe:[id=5]
dmtimer dmtimer.5:  registered
dmtimer dmtimer.6: omap_dm_timer_probe:[id=6]
dmtimer dmtimer.6:  registered
dmtimer dmtimer.7: omap_dm_timer_probe:[id=7]
dmtimer dmtimer.7:  registered
dmtimer dmtimer.8: omap_dm_timer_probe:[id=8]
dmtimer dmtimer.8:  registered
dmtimer dmtimer.10: omap_dm_timer_probe:[id=10]
dmtimer dmtimer.10:  registered
omap-remoteproc omap-remoteproc.0: omap_rproc_probe: adding rproc tesla
omap-remoteproc omap-remoteproc.0: omap-rproc initialized tesla, major: 250, base-minor: 0
omap-remoteproc omap-remoteproc.1: omap_rproc_probe: adding rproc ducati-proc0
omap-remoteproc omap-remoteproc.1: omap-rproc initialized ducati-proc0, major: 250, base-minor: 1
omap-remoteproc omap-remoteproc.2: omap_rproc_probe: adding rproc ducati-proc1
omap-remoteproc omap-remoteproc.2: omap-rproc initialized ducati-proc1, major: 250, base-minor: 2
highmem bounce pool size: 64 pages
VFS: Disk quotas dquot_6.5.2
Dquot-cache hash table entries: 1024 (order 0, 4096 bytes)
msgmni has been set to 1340
alg: No test for stdrng (krng)
io scheduler noop registered (default)
io scheduler deadline registered
io scheduler cfq registered
OMAP DSS rev 4.0
OMAP DISPC rev 4.0
OMAP DSI rev 3.0
OMAP DSI2 rev 3.0
OMAP HDMI W1 rev 2.0
Serial: 8250/16550 driver, 4 ports, IRQ sharing enabled
omap-hsuart.0: ttyO0 at MMIO 0x4806a000 (irq = 104) is a OMAP UART0
omap-hsuart.1: ttyO1 at MMIO 0x4806c000 (irq = 105) is a OMAP UART1
omap-hsuart.2: ttyO2 at MMIO 0×48020000 (irq = 106) is a OMAP UART2
console [ttyO2] enabled
omap-hsuart.3: ttyO3 at MMIO 0x4806e000 (irq = 102) is a OMAP UART3
brd: module loaded
loop: module loaded
usbcore: registered new interface driver smsc95xx
ehci_hcd: USB 2.0 ‘Enhanced’ Host Controller (EHCI) Driver
ehci-omap ehci-omap.0: OMAP-EHCI Host Controller
ehci-omap ehci-omap.0: new USB bus registered, assigned bus number 1
ehci-omap ehci-omap.0: irq 109, io mem 0x4a064c00
ehci-omap ehci-omap.0: USB 2.0 started, EHCI 1.00
usb usb1: New USB device found, idVendor=1d6b, idProduct=0002
usb usb1: New USB device strings: Mfr=3, Product=2, SerialNumber=1
usb usb1: Product: OMAP-EHCI Host Controller
usb usb1: Manufacturer: Linux 2.6.35-g6d019da-dirty ehci_hcd
usb usb1: SerialNumber: ehci-omap.0
hub 1-0:1.0: USB hub found
hub 1-0:1.0: 3 ports detected
Initializing USB Mass Storage driver…
usbcore: registered new interface driver usb-storage
USB Mass Storage support registered.
twl_rtc twl_rtc: rtc core: registered twl_rtc as rtc0
twl_rtc twl_rtc: Power up reset detected.
twl_rtc twl_rtc: Enabling TWL-RTC.
i2c /dev entries driver
IR NEC protocol handler initialized
IR RC5(x) protocol handler initialized
IR RC6 protocol handler initialized
IR JVC protocol handler initialized
IR Sony protocol handler initialized
Linux video capture interface: v2.00
OMAP Watchdog Timer Rev 0×00: initial timeout 60 sec
usbcore: registered new interface driver usbhid
usbhid: USB HID core driver
proc4430_drv_initializeModule
omap-devicehandler omap-devicehandler.0: omap_devh_probe: adding devh Tesla
omap-devh initialized Tesla, major: 243, base-minor: 0
omap-devicehandler omap-devicehandler.1: omap_devh_probe: adding devh SysM3
omap-devh initialized SysM3, major: 243, base-minor: 1
omap-devicehandler omap-devicehandler.2: omap_devh_probe: adding devh AppM3
omap-devh initialized AppM3, major: 243, base-minor: 2
SDP4430 SoC init
asoc: null-codec-dai <-> MultiMedia1 mapping ok
asoc: null-codec-dai <-> MultiMedia2 mapping ok
asoc: null-codec-dai <-> Voice mapping ok
asoc: null-codec-dai <-> Tones mapping ok
asoc: null-codec-dai <-> Vibra mapping ok
asoc: null-codec-dai <-> MODEM mapping ok
asoc: HDMI <-> hdmi-dai mapping ok
asoc: FM Digital <-> omap-mcbsp-dai.1 mapping ok
asoc: twl6040-dl1 <-> omap-mcpdm-dai mapping ok
asoc: twl6040-dl1 <-> omap-mcpdm-dai mapping ok
asoc: twl6040-ul <-> omap-mcpdm-dai mapping ok
asoc: twl6040-dl2 <-> omap-mcpdm-dai mapping ok
asoc: twl6040-vib <-> omap-mcpdm-dai mapping ok
asoc: Bluetooth <-> omap-mcbsp-dai.0 mapping ok
asoc: FM Digital <-> omap-mcbsp-dai.1 mapping ok
asoc: MODEM <-> omap-mcbsp-dai.1 mapping ok
asoc: dmic-hifi <-> omap-dmic-dai.0 mapping ok
asoc: dmic-hifi <-> omap-dmic-dai.1 mapping ok
asoc: dmic-hifi <-> omap-dmic-dai.2 mapping ok
input: SDP4430 Headset Jack as /devices/platform/soc-audio/sound/card0/input0
ALSA device list:
#0: SDP4430
TCP cubic registered
NET: Registered protocol family 17
Bluetooth: L2CAP ver 2.14
Bluetooth: L2CAP socket layer initialized
Bluetooth: SCO (Voice Link) ver 0.6
Bluetooth: SCO socket layer initialized
Bluetooth: RFCOMM TTY layer initialized
Bluetooth: RFCOMM socket layer initialized
Bluetooth: RFCOMM ver 1.11
lib80211: common routines for IEEE802.11 drivers
usb 1-1: new high speed USB device using ehci-omap and address 2
ThumbEE CPU extension supported.
omap_hwmod: Initialize debugfs support
VFP support v0.3: implementor 41 architecture 3 part 30 variant 9 rev 1
Console: switching to colour frame buffer device 240×67
usb 1-1: New USB device found, idVendor=0424, idProduct=9514
usb 1-1: New USB device strings: Mfr=0, Product=0, SerialNumber=0
hub 1-1:1.0: USB hub found
hub 1-1:1.0: 5 ports detected
regulator_init_complete: incomplete constraints, leaving VAUX3_6030 on
regulator_init_complete: incomplete constraints, leaving VAUX2_6030 on
regulator_init_complete: incomplete constraints, leaving VUSB on
regulator_init_complete: incomplete constraints, leaving VDAC on
regulator_init_complete: incomplete constraints, leaving VCXIO on
regulator_init_complete: incomplete constraints, leaving VANA on
regulator_init_complete: incomplete constraints, leaving VPP on
twl_rtc twl_rtc: setting system clock to 2000-01-01 00:00:00 UTC (946684800)
omap_vout omap_vout: : registered and initialized video device 0
omap_vout omap_vout: : registered and initialized video device 1
omap_vout omap_vout: : registered and initialized video device 2
omap_wb: registered and initialized wb device 3 [v4l2]
omapdss DISPC error: SYNC_LOST_DIGIT
omapdss DISPC error: SYNC_LOST_DIGIT, disabling TV
mmc0: host does not support reading read-only switch. assuming write-enable.
mmc0: new high speed SDHC card at address 0003
mmcblk0: mmc0:0003 SD8GB 7.41 GiB
mmcblk0: p1
p2
mmc1: card claims to support voltages below the defined range. These will be ignored.
usb 1-1.1: new high speed USB device using ehci-omap and address 3
mmc1: queuing unknown CIS tuple 0×91 (3 bytes)
mmc1: new SDIO card at address 0001
wl1271: loaded
wl1271: initialized
omapdss DISPC error: SYNC_LOST_DIGIT
omapdss DISPC error: SYNC_LOST_DIGIT, disabling TV
usb 1-1.1: New USB device found, idVendor=0424, idProduct=ec00
usb 1-1.1: New USB device strings: Mfr=0, Product=0, SerialNumber=0
EXT3-fs (mmcblk0p2): recovery required on readonly filesystem
EXT3-fs (mmcblk0p2): write access will be enabled during recovery
EXT3-fs: barriers not enabled
smsc95xx v1.0.4
smsc95xx 1-1.1:1.0: usb0: register ‘smsc95xx’ at usb-ehci-omap.0-1.1, smsc95xx USB 2.0 Ethernet, 6a:7a:72:2a:14:f3
omapdss DISPC error: SYNC_LOST_DIGIT
omapdss DISPC error: SYNC_LOST_DIGIT, disabling TV
usb 1-1.2: new low speed USB device using ehci-omap and address 4
omapdss DISPC error: SYNC_LOST_DIGIT
omapdss DISPC error: SYNC_LOST_DIGIT, disabling TV
usb 1-1.2: New USB device found, idVendor=046d, idProduct=c312
usb 1-1.2: New USB device strings: Mfr=1, Product=2, SerialNumber=0
usb 1-1.2: Product: USB Multimedia Keyboard
usb 1-1.2: Manufacturer: BTC
input: BTC USB Multimedia Keyboard as /devices/platform/ehci-omap.0/usb1/1-1/1-1.2/1-1.2:1.0/input/input1
generic-usb 0003:046D:C312.0001: input: USB HID v1.10 Keyboard [BTC USB Multimedia Keyboard] on usb-ehci-omap.0-1.2/input0
input: BTC USB Multimedia Keyboard as /devices/platform/ehci-omap.0/usb1/1-1/1-1.2/1-1.2:1.1/input/input2
generic-usb 0003:046D:C312.0002: input: USB HID v1.10 Device [BTC USB Multimedia Keyboard] on usb-ehci-omap.0-1.2/input1
omapdss DISPC error: SYNC_LOST_DIGIT
omapdss DISPC error: SYNC_LOST_DIGIT, disabling TV
omapdss DISPC error: SYNC_LOST_DIGIT
omapdss DISPC error: SYNC_LOST_DIGIT, disabling TV
omapdss DISPC error: SYNC_LOST_DIGIT
omapdss DISPC error: SYNC_LOST_DIGIT, disabling TV
omapdss DISPC error: SYNC_LOST_DIGIT
omapdss DISPC error: SYNC_LOST_DIGIT, disabling TV
omapdss DISPC error: SYNC_LOST_DIGIT
omapdss DISPC error: SYNC_LOST_DIGIT, disabling TV
omapdss DISPC error: SYNC_LOST_DIGIT
omapdss DISPC error: SYNC_LOST_DIGIT, disabling TV
omapdss DISPC error: SYNC_LOST_DIGIT
omapdss DISPC error: SYNC_LOST_DIGIT, disabling TV
omapdss DISPC error: SYNC_LOST_DIGIT
omapdss DISPC error: SYNC_LOST_DIGIT, disabling TV
omapdss DISPC error: SYNC_LOST_DIGIT
omapdss DISPC error: SYNC_LOST_DIGIT, disabling TV
omapdss DISPC error: SYNC_LOST_DIGIT
omapdss DISPC error: SYNC_LOST_DIGIT, disabling TV
omapdss DISPC error: SYNC_LOST_DIGIT
omapdss DISPC error: SYNC_LOST_DIGIT, disabling TV
omapdss DISPC error: SYNC_LOST_DIGIT
omapdss DISPC error: SYNC_LOST_DIGIT, disabling TV
omapdss DISPC error: SYNC_LOST_DIGIT
omapdss DISPC error: SYNC_LOST_DIGIT, disabling TV
omapdss DISPC error: SYNC_LOST_DIGIT
omapdss DISPC error: SYNC_LOST_DIGIT, disabling TV
omapdss DISPC error: SYNC_LOST_DIGIT
omapdss DISPC error: SYNC_LOST_DIGIT, disabling TV
omapdss DISPC error: SYNC_LOST_DIGIT
omapdss DISPC error: SYNC_LOST_DIGIT, disabling TV
omapdss DISPC error: SYNC_LOST_DIGIT
omapdss DISPC error: SYNC_LOST_DIGIT, disabling TV
omapdss DISPC error: SYNC_LOST_DIGIT
omapdss DISPC error: SYNC_LOST_DIGIT, disabling TV
omapdss DISPC error: SYNC_LOST_DIGIT
omapdss DISPC error: SYNC_LOST_DIGIT, disabling TV
omapdss DISPC error: SYNC_LOST_DIGIT
omapdss DISPC error: SYNC_LOST_DIGIT, disabling TV
omapdss DISPC error: SYNC_LOST_DIGIT
omapdss DISPC error: SYNC_LOST_DIGIT, disabling TV
omapdss DISPC error: SYNC_LOST_DIGIT
omapdss DISPC error: SYNC_LOST_DIGIT, disabling TV
omapdss DISPC error: SYNC_LOST_DIGIT
omapdss DISPC error: SYNC_LOST_DIGIT, disabling TV
omapdss DISPC error: SYNC_LOST_DIGIT
omapdss DISPC error: SYNC_LOST_DIGIT, disabling TV
omapdss DISPC error: SYNC_LOST_DIGIT
omapdss DISPC error: SYNC_LOST_DIGIT, disabling TV
omapdss DISPC error: SYNC_LOST_DIGIT
omapdss DISPC error: SYNC_LOST_DIGIT, disabling TV
omapdss DISPC error: SYNC_LOST_DIGIT
omapdss DISPC error: SYNC_LOST_DIGIT, disabling TV
omapdss DISPC error: SYNC_LOST_DIGIT
omapdss DISPC error: SYNC_LOST_DIGIT, disabling TV
omapdss DISPC error: SYNC_LOST_DIGIT
omapdss DISPC error: SYNC_LOST_DIGIT, disabling TV
omapdss DISPC error: SYNC_LOST_DIGIT
omapdss DISPC error: SYNC_LOST_DIGIT, disabling TV
omapdss DISPC error: SYNC_LOST_DIGIT
omapdss DISPC error: SYNC_LOST_DIGIT, disabling TV
EXT3-fs (mmcblk0p2): recovery complete
kjournald starting.  Commit interval 5 seconds
omapdss DISPC error: SYNC_LOST_DIGIT
omapdss DISPC error: SYNC_LOST_DIGIT, disabling TV
omapdss DISPC error: SYNC_LOST_DIGIT
omapdss DISPC error: SYNC_LOST_DIGIT, disabling TV
EXT3-fs (mmcblk0p2): mounted filesystem with writeback data mode
VFS: Mounted root (ext3 filesystem) readonly on device 179:2.
devtmpfs: mounted
Freeing init memory: 172K
omapdss DISPC error: SYNC_LOST_DIGIT
omapdss DISPC error: SYNC_LOST_DIGIT, disabling TV
omapdss DISPC error: SYNC_LOST_DIGIT
omapdss DISPC error: SYNC_LOST_DIGIT, disabling TV
omapdss DISPC error: SYNC_LOST_DIGIT
omapdss DISPC error: SYNC_LOST_DIGIT, disabling TV
omapdss DISPC error: SYNC_LOST_DIGIT
omapdss DISPC error: SYNC_LOST_DIGIT, disabling TV
Welcome to Fedora
Press ‘I’ to enter interactive startup.
Starting udev: [  OK  ]
Setting hostname fedora-arm:  [  OK  ]
Checking filesystems
Checking all file systems.
[  OK  ]
Remounting root filesystem in read-write mode:  [  OK  ]
Mounting local filesystems:  [  OK  ]
Enabling /etc/fstab swaps:  [  OK  ]
Entering non-interactive startup
FATAL: Module ipv6 not found.
Bringing up loopback interface:  [  OK  ]
Bringing up interface eth0:  Device eth0 does not seem to be present, delaying initialization.
[FAILED]
FATAL: Module ipv6 not found.
Starting system logger: [  OK  ]
rpcbind: unrecognized service
Mounting NFS filesystems:  [  OK  ]
Mounting other filesystems:  [  OK  ]
Retrigger failed udev events[  OK  ]
Starting sshd: [  OK  ]

Fedora release 12 (Constantine)
Kernel 2.6.35-g6d019da-dirty on an armv7l (console)

fedora-arm login: root
Password:
Last login: Sat Jan  1 00:00:44 on console
[root@fedora-arm ~]# uname -r
2.6.35-g6d019da-dirty
[root@fedora-arm ~]#

 

The Chat Log

20:21 < pbrobinson> root?
20:21 < micadeyeye> okay
20:24 < micadeyeye> i thought i got the boot files required to display the GUI.
20:24 < micadeyeye> i am using the boot.zip from http://scotland.proximity.on.ca/arm/kernel/pandaboard/2.6.35.3/
20:25 <@ctyler> micadeyeye: those files are specifically configured for no video
20:25 <@ctyler> at least, that kernel is
20:26 < micadeyeye> okay. i could try my kernel then.
20:26 < micadeyeye> thanks a million.
20:26 <@ctyler> micadeyeye: the easiest way to start is to use the kernel from the validation image
20:27 <@ctyler> in fact, you can start with the validation image, and then replace the 2nd partition rootfs with the fedora rootfs
20:28 < micadeyeye> okay. how about the F13beta?
20:28 < micadeyeye> I am not keenly intersted in the display though.
20:29 <@ctyler> yes, you can use f13beta rootfs to replace the 2nd partition of the validation image
20:29 <@ctyler> if you don’t care about the display at all, the kernel from scotland should work fine, and give you access to more RAM
20:29 < micadeyeye> thanks.
20:42 < micadeyeye> I am getting  this error – FATAL: Could not load /lib/modules/2.6.35-g6d019da-dirty/modules.dep: No such fy
20:42 < pbrobinson> did you unpack the kernel modules into the rootfs?
20:42 < micadeyeye> i know how to fix it. i was just wondering if i could use 2.6.38
20:42 < micadeyeye> pbrobinson: nope
20:43 < pbrobinson> you could compile up 2.6.38 likely. I’m not sure whether all the required support is upstream
20:43 < micadeyeye> how can i get the kernel modules?
20:44 < micadeyeye> i compiled one for 2.6.38
20:44 < pbrobinson> presumably where ever you got the kernel from.
20:44 < micadeyeye> the modules are not there – http://scotland.proximity.on.ca/arm/kernel/pandaboard/
20:45 < pbrobinson> there may not have been any. That would be a Q for ctyler or PaulW
20:46 < pbrobinson> for the panda board your likely best to use the omap kernel branch
20:46 < micadeyeye> but i wanted to use the one i compiled. but it’s got some symbolic links. the last time i tried using it, the sd card started acting up
20:46 < micadeyeye> pbrobinson: okay
21:16 <@ctyler> micadeyeye: if you’re using a non-modular kernel, that message is ignorable. you can clear the error message with: touch /lib/modules/$(uname -r)/modules.dep
21:16 <@ctyler> (well, mkdir -p /lib/modules/$(uname -r)   first)

Comments

Packaging for Fedora

My task on day 4 of POSSE SA was to package an application for Fedora, and it all went well. I tried the process all over again today as I intend packaging applications for Fedora-arm. Below are the steps I took. You can get the rpmbuild for the sample application here. Although I ran the process on my i386 PC, I learnt that packaging Fedora apps. for ARM devices on a machine with a different processor architecture comes with a lot of problems. Hence, it is advisable to package Fedora-arm apps on an ARM-based machine, such as Pandaboard, Sheevaplug and Beagleboard.

The Packaging Procedure and How to generate a Patch

sudo yum install fedora-packager
rpmdev-setuptree
ls ~/rpmbuild/
rpmbuild –clean buildsample
cd ~/rpmbuild/SPECS/
#clean up
rpmbuild –clean buildsample.spec
#prepare
rpmbuild –bp buildsample.spec
#make
rpmbuild –bc buildsample.spec
#install
rpmbuild –bi buildsample.spec
#build
rpmbuild –bb buildsample.spec
#source
rpmbuild –bs buildsample.spec
#all (package_all)
rpmbuild –ba buildsample.spec
rpmlint buildsample.spec
rpmlint ../SRPMS/buildsample-2.0-1.src.rpm
rpmls ../RPMS/x86_64/buildsample-2.0-1.x86_64.rpm
rpm2cpio ../RPMS/x86_64/buildsample-2.0-1.x86_64.rpm | cpio -idv
sudo yum install ../RPMS/x86_64/buildsample-2.0-1.x86_64.rpm –nogpgcheck
rpm -qa | grep buildsample
buildsample
sudo yum remove buildsample
#adding patches
rpmbuild -bp buildsample.spec
cd ../BUILD/buildsample-2.0/
cp buildsample.c buildsample.c.fix
gedit buildsample.c.fix  #make the changes
gendiff buildsample-2.0/ .fix
gendiff buildsample-2.0/ .fix > ~/rpmbuild/SOURCES/buildsample-fix.patch
cd ../SPECS/
#edit the specs’ file -  change the release no
#restart the build process

Comments

POSSE SA – Day 3 (Jan, you are the best!!)

I got myself into trouble when I tried to dual-boot on the day 3 of POSSE SA. I tried installing Fedora 13, but the installation resulted in me not able to access again the existing OS (Ubuntu) on my PC. Many thanks to Jan, the Red Hat guy, who helped me fix it. I am however happy that I was able to file two bugs on the Fedora 13 OS.  Check them at Bugs 640943, and 640947

By the way, we’ve got some photos on Flickr, and some notes on identi.ca. I look forward to day 4.

Comments

Spain 1 : Portugal 0

I was at the Greenpoint Stadium last nite to watch the Spain vs. Portugal match. It was not bad. The first half of the match was quite boring, but I saw a more tenacious spanish team during the second half of the game. Below are some pictures and videos I got from the match.

The Videos

  1. Welcoming both teams to the pitch (31MB)
  2. A short clip of the match (11MB)

I really did have fun!!

Comments

POSSE SOUTH AFRICA: Call for Participation

CPUT, later this year, will be hosting computer science instructors (and any other interested parties) in a week-long barcamp on teaching open source. This is an open call for participation. Anyone interested should please visit – http://bit.ly/b18yzg. You are advised to ‘cc’ me (adeyeyem{at}cput.ac.za) when sending the requested email. For more information on POSSE South Africa, please visit – http://www.teachingopensource.org/index.php/POSSE_South_Africa

Comments

Ph.D Thesis Submission

I submitted earlier today five copies of my Ph.D thesis; I can now breathe a sigh of relief. Many thanks to guys out there who gave me help and pointers during the work. I highly indebted to David Humphrey, who said I could hack the Mozilla Firefox, and Luca Foschini (Ph.D), who referred me to some testing tools to validate my work (the Mobicents converged application)  and worked with me for over five months on my second journal paper on the work. Here is a list of publications, symposia and presentations on the work.

I am also indebted to Prof. Henning Schulzrinne, Prof. Paolo Bellavista and Prof. Chien-Chao Tseng. They, out of their busy moments, replied my mails and made contributions at the early stage of the work. And many thanks to friends and loved-ones who stood by me during my studies.

Comments