Port B2G to a specific device - firefox-os

In the Firefox OS documentation, one can read :
If your device isn't listed, you should stop right now and either help port B2G to your device or wait until someone else does it. We'd prefer it if you help out!
How should I help to port B2G to my device (Alcatel Orange Klif / OneTouch 4022D) ?

MDN has a full guide for beginning a new port of Firefox OS to a specific device:
https://developer.mozilla.org/en-US/Firefox_OS/Developing_Firefox_OS/Porting
There's a similar question here:
Porting Firefox OS to Android device

Ok, you do need some basic background like:
* git
* Some C/C++ programming knowledge
* How Android build system works
* Be consistent
* Be patient
You are ok with that, right? :)
So let's start reading:
https://developer.mozilla.org/en-US/Firefox_OS/Developing_Firefox_OS/Porting
Any doubts? Pretty sure. Come to irc.mozilla.org #b2g and introduce yourself, there's a lot of passionate and lovely people there willing to help newcomers contributors who really want to make their projects real.

Related

Compiling only a specific driver from backports?

I'm currently trying to learn a bit about how txpower is set within the Linux ath9k wireless driver to enable the output amp on my wireless adaptor.
I've been editing the code for ath9k from here: https://www.kernel.org/pub/linux/kernel/projects/backports/stable/v4.4.2/
On my Raspberry Pi, this is a 15+ minute compile process.
Is anybody able to tell me if it's possible to just compile the ath9k driver rather than the whole lot?
Many thanks!
Turns out it was fairly simple:
make defconfig-ath9k
make
Hope this helps somebody!

Tips for customizing a driver for my laptop chassis?

Running an up-to-date Gentoo on my Sager NP8298 (Clevo P177SM-A), and I am heartbreakingly close to having all of my hardware running beautifully. I found a nice open source driver to run my keyboard backlight at this GitHub repo, but the problem was it was made for a Clevo chassis that didn't have the touchpad light that mine does. Kinda tacky, I know, but the problem is that the default color for the touchpad light is blue, and can be kind of distracting when the keyboard is set to a different color.
I'd at least like to be able to turn the light off, if not control its color. I have a Windows install and am able to access the proprietary driver that came with the computer. I just don't quite know where to start on trying to modify this driver, if there were some Windows utilities that I could use to see what the driver is doing and how to access the LED programatically, it would be a huge help. Any ideas?
Other functionality that I'd like to add is Fn+Num pad 7 through 9 for toggling the left, center, and right part of the keyboard individually, and Fn+5 for a num pad light toggle, as the Windows driver does. I just need to know what signals need to be sent to the hardware and how to send them.
Whatever I end up with I'll be sure to fork the project and share the results with other users of this hardware.
You need the source code of driver you want to change. With that and all required bits and bobs (a.k.a. dependences) you can change it to do whatever you want.
That said, there are quite a few things to consider. You need to know, at least at a reasonable level, the language used to build the driver, platform dependencies if any.
I've done similar work for some network drivers like 15 years ago and no it's not a fun job.

How are low level device drivers written for Linux?

I remember reading some books about Linux Device drivers around the end of my university education for Comp. Science. Soon there-after I got a job and haven't really worked much with Linux/Embedded (I do mostly java stuff now). However it's something I want to look into.
Anyways I recall reading an online article (ill edit post if I can find it) about writing a USB Driver for Linux for a Little "USB Missile Turret" similar to this:
http://www.thinkgeek.com/geektoys/warfare/8a0f/
Anyways it went into detail about how to write the driver without a driver being provided (the guy just found a generic one on ebay....and figured out how to like...write the driver just by looking at the components and such). ANYWAYS it was pretty amazing.
I have a pretty good clue about how low level embedded stuff works, but thats for stuff like AVR's/PIC Microcontrollers, I have no idea how something like this would be written for like a Normal processor in a PC.
Anyways I guess what Im asking is.....how do you figure out this kinda stuff, where would I find such information.
edit: found the link
http://matthias.vallentin.net/blog/2007/04/writing-a-linux-kernel-driver-for-an-unknown-usb-device/
(It's way more confusing then I thought, I didn't realize he reverse engineered a Windows USB driver..im guessing it'd be impossible to figure out without snooping through a windows driver?)
The Linux kernel and drivers are GDFL source. You can read the code, change them, compile them, and experiment to your heart's delight with them. That is a pretty good way to learn.

Linux Driver for Roland GR-55

Currently Roland does not make drivers for Linux, so I am starting a project to write a driver for the Roland GR-55 Guitar Synthesizer, but after looking around, I find I have several options and not sure which is the best or most current method, so I thought I'd ask before waisting a lot of time on this.
This device uses USB, it controls the MIDI and Audio devices in the GR-55.
ALSA or libusb api are two choices; both are new to me; its been years since I wrote a device driver and it was for Unix back in the 80's, but I do know I can figure out how, once I know what tools to use, which I'm guessing both use C still; I have looked at the libusb api; very nice; but I have no idea about ALSA project; seems they are geared into getting modules into the kernel to achieve this.
I would like to find programmers that have worked with Roland like Device Drivers dealing with MIDI and Audio that might be able to help point me in the right direction; I have asked Roland for help; will be waiting for a reply, but not wanting to hold my breath, I think getting started would be my best option; even if they do help, they will only be suppling technical specs, which would be great.
I hope I gave enough details; not much else to say when asking a question about Device drivers.

How to learn xInput and gesture programming in Linux (GTK+)

Ramble: I have been goggling for the past ~week trying to get information on tablet programming for Linux. I am currently a student tasked with making a tablet application (mobile but tablet is the preferred device). I am allowed to program with Linux however the class instruction is based on Microsoft XP tablet input "Inking." I however would like to learn how to write a similar app in Linux ( I am going to attempt to make a gesture GUI for kismet [probably tie in air crack too, mostly just run scripts]).
Problem: My problem however is that the I cannot find any opensource gesture engines or similar tools to inking as far as Linux goes. I know that communities hate n00b questions but can you point me to some n00b xInput programming tutorials that include gestures. The best I found is how to doodle with a bitmap backing.
I'm sorry for n00bing out here, really I'm usually able to fend for my self.
OK, I don't know much, but I am moved by your anti-n00bness.
http://www.x.org/wiki/XOrgInputDriverSpec
It doesn't look like it's implemented yet, but there is some hope!
https://launchpad.net/canonical-multitouch <- canonical recently announced this, so there's not that much work yet
I don't know, man. You've got a tough question...

Resources