ReportingPage

Revision 39 as of 2007-11-20 15:17:32

Clear message

MobileTeam Reporting Page

Include(BuildingCommunityHeader)

[:BuildingCommunity/TeamReporting:Back to the Team Reporting page...]

Welcome to the MobileAndEmbedded reporting page. Every month this page reveals a snapshot of the work that has been going on in the Ubuntu Mobile and Embedded Community. If you have have been working hard on the project and want to let others know what you have been up to, try to summarize it here. Community contributions are actively encouraged. A few guidelines for how to write good points are:

  • Keep it simple and short - single sentences are best. Smile :)

  • Try to summarise your work and not be over-detailed - we don't need to know specifics, just a summary of the kind
  • Where possible, include relevant links.

You should get all your reporting included here by the 22nd of every month.

The Report

Ubuntu Mobile [http://kryten.incognitus.net/mootbot/meetings/ MootBot Logs]

Status report for week 2007-10-25 to 2007-11-01

Midbrowser status update

  • Mostly working on bug fixes.
  • Analyzed a few sites that didn’t work quite right with Midbrowser. Among them are Microsoft’s *live.com. Those sites didn’t behave correctly because they didn’t think Midbrowser is not one of the supported browsers (Firefox, Netscape, IE). It turns out that by setting the useragent key to Firefox, these sites work just fine. I will put a fix in for that. We also found out that couple of the sites didn’t work because of bug in Adobe’s flash player for Linux. I contacted the owner of the sites and confirmed that.
  • A patch to enable the “pref” extension in the browser is ready. Waiting further code review from Asac and will check the changes it.

USB Client Status

  • Use case:
  • MID is already turned on; plug the MID directly into my PC via USB cable
  • MID's data (videos, music, photos, etc) are visible in the file manager on my PC. They appear on the PC as either as separate volumes or as directories in a single volume
  • Using the file manager on the PC, add/remove files on the MID
  • Unplug the MID from the PC, enjoy the movie I just copied to it It's our understanding that Intel is supporting this case through the file-backed storage gadget. Some questions:

    1) Is Intel patching the file-backed storage gadget to expose the client's ext3-formatted filesystem to the host as a FAT filesystem (requiring ext3<-->FAT translation[1])? If not, what is the plan to expose files

    • contained by that FAT image to applications on the MID?
    2) Consider the case where I have a MID with 4GB total storage, and I want to copy a 2GB movie to it. How will the file-backed storage gadget handle this situation? The MID doesn't have enough storage for 2 copies of the movie (one in the FAT image and one in the MID's native ext3 filesystem). 3) The blueprint and your status report both mention host-side utilities. Are those utilities required for file sharing, or are they used exclusively for sharing the MID's network connection? 4) The blueprint and your status report both mention Samba for file sharing/transfer. How is Samba relevant to USB Client? When plugged into a PC via USB, will the MID appear as a network share? If so,
    • will it also appear as a FAT device? Why present the user that choice?
    USB Client external availability still November 5, 2007 USB Client Features, from internal release note: Drivers:
    • 1) Support USB2.0 spec to enable Poulsbo USB client hardware. 2) Support USB Mass Storage class to expose mass storage device. 3) Support USB CDC-EEM class and RNDIS spec to expose Ethernet device. 4) Support interoperation with both Linux an Windows host PC of
      • VFAT/FAT32 file systems in mass storage device condition.
      5) Support interoperation with both Linux and Windows PC with
      • CDC-EEM/RNDIS compatibility.
    Utilities:
    • 6) Utility automatically start DHCP server to allocate IP addresses in
      • host and client if static IP is not chosen.
      7) User can specify directories to share with host through GUI utility. 8) Samba server is automatically started in client utility to share
      • selected folders.
      9) Shared directories will be shown in a GUI Window. 10) User can set different access permissions to each samba user.
    Known issues:
    • 1) Drivers are not tested in High-Speed environment due to some known
      • HW sightings and bugs in Poulsbo B0 board.
      2) Drivers don't pass USB-IF Compliance test. There are some potential
      • bugs about:
        • a) USB reset, Power Management b) GET_STATUS, CLEAR_FEATURE, SET_FEATURE USB standard control requests
      3) File-backed storage (MSD) gadget doesn't support endpoints STALL feature now,
      • set module parameter "stall=0" can work.
      4) USB VID and PID for MSD and RNDIS gadgets are temporary ones. 5) The solution of static IP option is under discussion and not finalized now. 6) The interaction of Linux client utility and Windows host utility are not verified. 7) Client utility sometimes is aborted when new share folder is added.

Mobile build infrastructure

  • No progress. Publishing of proprietary builds is blocked on IS (ticket filed). Gutsy + updates is also blocked, pending IS to set up lpia PPAs. Other news:

    Pre-alpha was released on Monday 22 October: https://wiki.ubuntu.com/MobileAndEmbedded/Pre-Alpha for more information.

Hildon Desktop Status

  • Finally fixed hildon-desktop; apart of the issues already covered here, only a configuration issue remained
  • Merged or checked that we did merge misc stuff which Bob asked me to have in our hildon-desktop
  • Fixed the stamp issue I encountered last week
  • Checked that an old ~/.osso would still work with newer hildon-desktop; please note that we're condemned to perpetual backward compatibility with whatever ends up in the ~/.osso of end
    • users in the next versions...
  • Updated mobile-image-creator in hardy; we now use lpia in Ubuntu's mic by default
  • Misc fixes and uploads

Moblin-applets status

  • Held a review of the moblin-applets feature set through the moblin mailing list and the overwhelming response was that we have way more features than we need. Thus, this week I've been chopping the applets down to the bare minimum of features for use on a mobile device. Also am working on the creation of a ventral libmoblin-dev and libmoblin runtime library that applications and applets can use to get the up-to-date list of all the gconf keys and their settings that we use, and am working to add in macros for icon and desktop theme functions that mirror their gtk equivalents.

midbrowser status

  • Continued bug fixes.
  • Attempted to build Midbrowser with Intel C/C++ compiler (10.0 beta). There were a lot of complain about performance. We wanted to see if using Intel’s C/C++ compiler will give us any performance boost.
    • From past experience, this should give us > 10% performance improvement. Unfortunately the Compiler has a bug and Midbrowser binary crashed. The Compiler team has identified the cause and as soon as I get a patch from them, I will give it a try again.

  • We are attempting a build of Midbrowser with Firefox 3.0 base code. We should have a successful build sometime today.
  • I am also looking into using larger icons in the URL bar. They are just too small.

Status report for week 2007-11-01 to 2007-11-08

Poulsbo Graphics Status

  • Alpha 2D driver released to moblin.org Alpha 3D driver release delayed, due to click-through license discussions. Video driver update delayed for additional internal testing.

Moblin Kernel & Driver Status

  • PSB C0 HW Support

We're still waiting for C0 HW. We were able to borrow a few cycles on another team's C0 platform to test our basic enabling patches. We needed a slight modification to the HD Audio patch to (see http://www.moblin.org/repos/?p=projects/kernel-mid.git;a=commitdiff;h=a1 cac708cdd1220165d35cd7eac8d8c5a4e4b4be) work around silicon issue that will be fixed in the next stepping. There are reports that our SDIO patches may have some issues on C0 HW and we will need to confirm and fix when we receive the new HW. We're also planning to do more power and performance analysis/tuning on C0 HW.

  • SDIO

Moblin kernel now contains patches for both Pierre Ossman's and MSS SDIO stacks. Pierre's new SDIO stack has been accepted into the upstream 2.6.24 development kernel and includes a couple of fixes from us. Our patch is slightly behind with Pierre's latest code and plan to re-sync in the coming week. We've also ported & include Marvell's GPL'd sd8686 driver for both SDIO stacks. We're carrying the MSS stack for now to limit disruptions, but now that Pierre's code is in the 2.6.24 kernel MSS support will be limited. MSS will be dropped from our tree in the short-term.

  • Dabney Thermal patches

The Alpha release of the Dabney Thermal patches have been applied to the Moblin kernel just this week. We've only just now received the test cases to verify that the functionality behaves as expected to finish out the integration. Once we've ran the test cases we'll be able to complete the integration. The older versions of these patches have been removed

  • USB Client Drivers

We're still waiting for the C0 release of the USB Client drivers. At which we will integrate it into the Moblin kernel.

  • PSB Gfx & Video Drivers

We've integrated the Beta1 release of the PSB Gfx 2-D X and kernel (psb.ko & drm.ko) drivers on moblin.org. One issue we're still trying to resolve is that PSB Gfx driver requires EXA 2.2 where as Gutsy is on 2.1. There is a patch to move to 2.2 that we still need to apply on Moblin.org.

  • Power and Performance Testing/Optimization

We've been doing some basic power and performance benchmarking to find out our trouble spots. PowerTOP is showing over 140 interrupts/second for several kernel drivers. This is our biggest issue at the moment preventing the processor from taking advantage of deeper C states and consuming less power. By process of elimination we tracked the issue down to the PSB Gfx kernel driver (psb.ko). The other issue that PowerTOP is showing is when hyperthreading and/or the Local APIC Timer is enabled, an external interrupt is being generated 60+ times a seconds. When we get the C0 HW we will try to debug and root cause this issue.

UI / Media Player Status

  • Current homescreen has been updated with some patches Added patched from Bill Filler for Marquee and mobile-basic-home Clutter home screen v1 still not ready but soon. Need to iron out menuing issues
    • Media Player
      • Updated graphics. Current media player UI looking more polished. You need to download new hildon-theme-mobile-basic with latest media player

        Working on startup time. We will background everything to get the media player to start in <2sec (1.3s is goal)

Midbrowser

  • We have successfully built Midbrowser with FireFox 3.0 Code base. However we are having problem with starting the new browser because of some problem with the applications.ini file.

    • Jimmy is in the process of debugging this issue and we should have this running shortly.
  • I have increased the size of the toolbar icons from 24x24 to 32x32 . This makes it more finger friendly on the mid device.
  • Continued test and bug fix.

Moblin Applets

  • Have held an informal review of the features in the control panel and have implemented many of the comments, most having to do with removal of the clutter and simplification of the UI. Have been focusing primarily on bug fixing and code upgrades, and I'm currently in the process of finalizing the mixer applet and will be adding in theme switching next.

Status report for week 2007-11-08 to 2007-11-15

Moblin-applets Status

  • I've added a mixer control which uses ALSA to populate a list of the most useful tracks on simple sound cards. It's a single dialog that uses notebook pages for each track instead of just displaying them all messily from left to right. I've also added HUGE buttons because I'm tired of scrounging for my pen to tap the little volume buttons in the status bar. I want the user to be able to just smack away at this with their fingers and have no issues. Also, all of the tracks have independent left and right controls for volume and mute, so I added a sync button for each to allow the user to control left/right in unison (just like in the ubuntu version but in a different style). The code uses ALSA to populate a list of all the tracks that have playback volume or switch controls, then scans for 4 key tracks which I think will make the most sense to provide to the user: Master (PCM), Speakers (Front), Microphone (Mic), and Headphones (Headphone): To see a full list of the tracks the system supports just install alsa-utils, and run amixer, it will show all the tracks which fall into three primary types: playback, capture, and input source. For now I've just included the playback tracks because the devices we currently have aren't that complex, but we can easily add on other tracks in the future. The Samsung has the following:
    • PCM: I call this "Master" because it has the widest range and no mute switches, it seems designed to control the underlying volume that gets channeled to the other tracks like speakers and headphones. Front: This guy I call "Speakers" because it just controls the two front speakers on the Samsung, and it has both volume and mute controls Microphone: I included the Micrphone playback track which includes both volume and mute capability, it seems to work ok as the input to the mic gets sent out over the speakers and headphones just fine, however I still haven't gotten arecord to function yet. Headphones: The included a headphone track which has no volume slider (the Front volume slider seems to also affect headphones, but it does have independent mute switches. Ideally I'd like to get PPM to control the Front and Headphone Mute buttons manually whenever the "Headphone plugged" ACPI event is received. That way it will react as a normal device does when using headphones.
    I have compiled all the basic functions I use for controlling the sound via ALSA into a library called libvolumecontrol.so and it's placed in /usr/share/moblin-applets. So if the PPM guys want to try to load it in and do some tests, have at it. The header file is in the moblin-applets source tree at libvolumecontrol/volume.h. If anyone makes the request I can turn this library into a standard runtime library with a dev version with header files for easy programming and use since ALSA is a pain in the butt to understand with so little documentation.
    • I still have to make some small glade cosmetic improvements like disabling the volume controls if ALSA determines that the track doesn't have them. For instance the Headphones tab has volume controls but they just don't do anything at the moment.

Midbrowser

  • We are still trying to resolve the runtime issue with the Midbrowser built using the Firefox 3.0 code base. We have resolved the application.ini problem and now ran into other problem. It didn’t go as smoothly as we expected.
  • We tested the browser Addons listed in PRD and found some issues. Couple of them have install problem due to the fact that we have changed the menu layout. Several of them installed fine but didn’t behave as expect. I will investigate further.
  • Continued with bug fixes.

Mobile build infrastructure

Working on fixing up support for using the ubuntu-mobile PPA in addition to the regular sources. This is working in my private builds now, I'll make sure to test those before deploying new daily builds.

No progress on getting hardy builds set up yet, this is on the list for next week.

Hildon Desktop

Short two weeks with UDS and Canonical's "All Hands" week.

  • Misc discussions with the rest of the mobile team
  • Uploaded hildon-desktop to hardy and to the gutsy ppa
  • Started looking at new MIC which should be targetted at hardy + hardy
    • ppa
  • Looked into the pidgin h11n patches; hope to provide pidgin as an
    • alternate client with tight Hildon integration
  • Misc meetings TODO: - pidgin h11n - MIC uploads - specs

UME Kernel Status

Poulsbo DRM driver

  • - The driver has been updated in LUM and will be uploaded for building this week. - Note that this mean we will be using LUM from the Gutsy repo, no PPA

Thermal Driver

  • - Driver updated inside Ubuntu kernel to the Alpha release from Intel - Tried uploading to PPA, but it failed. Need to investigate cause.

SDIO

  • - Driver will be updated inside the Ubuntu kernel to the patch from moblin tree (this week) - Kernel will be uploaded to PPA

Moblin Image Creator

  • Working on adding yum as another package manager supported, so that distributions using yum will be able to use Moblin Image Creator.
  • Continued work on abstracting the package manager code.

During time at UDS did the following, see changelog for more details:

  • [ John L. Villalovos ]
  • Can now setup system to NOT use squashfs on an installed system.
  • Created a "common" platform directory that files common to all platforms will be placed.
  • Made mksquashfs NOT display progress.
  • Make our filesystems get mounted using the 'noatime' and 'nodiratime' mount options. Hopefully this will help performance a little bit.
  • Fix for https://bugs.launchpad.net/moblin-image-creator/+bug/159298,

"Wrong package version installed in target". I am hopeful that this will fix the bug.

  • Cleaned up the writeUsbImage code and will now display an error message if
    • 'dd' returns an error when writing to the USB flash drive.
  • Let the user know if they are trying to run the GUI without their DISPLAY environment variable set. [ Prajwal Mohan ]
  • Using same standard for all progress bar and adding status label
  • Adding status label to progress bar to indicate current action [ Rob Rhoads ]
  • Added a work around for Q1U where the local APIC timer stops working
    • after a resume from a S4 (Hibernate). The work around is to add the kernel cmd-line option "nolapic_timer" to the mccaslin-lpia hd boot.
    [ Bob Spencer ]
  • Added more tools to developer-tools

Driver Status

PSB C0 HW Support

No change from last week. We're still waiting for C0 HW.

SDIO

We've updated and re-sync'd our SDIO patches with Pierre Ossman's latest code. These patches have been committed to our moblin kernel git tree but not yet released into the gaston repository.

Dabney Thermal patches

The Alpha release of the Dabney Thermal patches have been applied to the Moblin kernel. We're waiting on a special BIOS and FW to test.

USB Client Drivers

We've applied the USB Client C0 release kernel patches to the Moblin kernel git tree but not yet released a new set of kernel packages to the gaston repository. There are a number of issues with this version of the USB Client driver and since we don't have C0 HW we're only able to test on B0/B1.

Known Issues:

+ We had to load the iusbc module with force_fullspeed=1 parameter to force UDC to USB 1.1 mode.

+ Need to have an unload/reload cycle to make USBC work both for Mass Storage and RNDIS feature and both for Windows XP host and Linux host.

+ RNDIS issue: On a Windows host, the Windows rndis device driver doesn't recognize the MID device, error response is "Windows could not recognize the USB device ..."

+ RNDIS cause kernel panic issue: If you plug in CB to Windows XP and then plug it to Linux host or vice-versa, RNDIS will cause CB to hang, the keyboard LED blinking indicates a kernel panic.

PSB Gfx & Video Drivers

No code changes this week. We're working with the PSB Gfx driver team in an attempt to get them to move to the Xorg 1.4 base and the 2.6.24 kernel's drm.ko. This is to fix the issue with libexa and drm.ko. This is a must for a move to Hardy. When I have something to report I'll let the team know more. The Beta1 release of the 3D drivers were privately integrated on moblin.org, but were found to be very unstable. We're waiting on the Beta3 release before we do anything more.

Power and Performance Testing/Optimization

Reported the issue with psb.ko generating 140+ interrupts/second when the system is idle to PSB Gfx driver team and they thought it was caused by vsync interrupt. They've added an option to disable vsync interrupt, but it will cause tearing when dragging a window. They need to find out what's the D state during CPU idle and only disable vsync interrupt when that D state is entered. Still waiting on C0 HW to investigate the high number of external interrupts with the local APIC timer.


CategoryTeamReport