Today is May 28^_^

Blog post by absabs on Mon, 2007-05-28 02:23

Hi all,

My name is JiSheng Zhang. I come from China. I am one of the Haiku's GSOC2007 students. My work is implementing a FireWire stack with support for mass storage and DV cams. I plan to port the FreeBSD FireWire stack. I will do my development under debian.

After google anouncement on April 11, I spent time in building Haiku, running on the real PC and reading the source code of haiku's PCI and SCSI sub system and other code about driver writing.

I'm eager for the first payment ^_^. So I can buy a second hand pc with IDE disk and a DV cam with 1394. Today is May 28, I will continue to read the remaing source code and begin coding soon.

Sorry for my broken English :(

Comments

Re: Today is May 28^_^

Hi JZ :)

When you get to the testing part, get me on beshare and i will be able to test your stuff on a sony dcr-hc48.

I also have access to Ultra branded FireWire HD enclosure.

Just don't expect a bug report in Japanese :P

Re: Today is May 28^_^

Your English seems pretty good to me.

AlienSoldier, why would you give him a report in Japanese if he is Chinese ?

Re: Today is May 28^_^

oops, my bad :) now you can point me like the guy in "The Replacements" : You know China and Japan are 2 different country.

Re: Today is May 28^_^

Nice to listen :-)
And my english is the badest in the Haiku world ;-)
Stargater

Re: Today is May 28^_^

Nice to listen :-)
And my english is the badest in the Haiku world ;-)
Stargater

Re: Today is May 28^_^

Nice to listen :-)
And my english is the badest in the Haiku world ;-)
Stargater

Re: Today is May 28^_^

JS, you are not alone. I am Chinese too :D would be nice to see your contribution after summer. I got a 1394 dvd writer and would like to give it a test once you get the mass storage bit done.

Re: Today is May 28^_^

Hi JiSheng Zhang, welcome aboard! Your English seems fine, don't worry! I'm looking forward to your contribution, your help is very much appreciated! I hope your mentor has told you already - it is ok to commit patches as soon as possible, you don't need to complete the task before commiting anything. It is nice to see progress, and after having sent a few patches, you should be given commit access fairly soon.

Best regards,
-Stephan

Re: Today is May 28^_^

I'm Chinese, too. It happy to know that there is Chinese in Haiku's development. Good work!!!

Re: Today is May 28^_^

Welcome aboard and we wish you success!
I spent a lot of time trying to learn the 1394 and OHCI specs, and did some of my own test drivers, but didn't get too far beyond bus init/identification and self test.
Does the BSD stack itself support the DV or Mass storage? I would think that those would be separate drivers. I think you know already that the DV uses isochrononious packets and Mass storage uses asynchronous. They are handled pretty differently. BeOS never implemented the asynchrounous transfers. Are you going to try and do both?
I never had the real 1394 spec, it costs $$$. I did find a draft of the 1394a though, if that would help.
I'll be looking forward to seeing your progress and help test! I have a DV cam, and Firewire scanner and external HD.

Re: Today is May 28^_^

Hi Greg Crain,
Yes, BSD stack support DV and Mass storage well.

For Mass storage, the device will be seen as a SCSI device as the USB mass storage do. Now, I don't know the internal of Haiku's SCSI subsystem. Any doc about it will be appreciated.

What do you mean by "BeOS never implemented the asynchronous transfers".

Hi Brandon Dai and Koala Yeung,
非常高兴在这里看到你们。人生有四大喜:久旱逢甘霖,他乡遇故知,洞房花烛夜,金榜题名时。呵呵遇见你们我四喜中又获得了一喜。谢谢你们鼓励我。

Re: Today is May 28^_^

Hi absabs,

there is unfortunately no documentation for the Haiku SCSI subsystem as far as I know. However, Siarzhuk Zharski recently adapted his USB Mass Storage driver for the Haiku SCSI subsystem. Maybe he can help you get started.

The BeOS Firewire stack was not complete as far as I know. It only implemented what was needed to support DV cameras. When Be was still around, I wanted to write a driver for digital still cameras attached (and remote controlled) via Firewire, so I asked Be for support. But they told me Firewire was not complete enough and they didn't want to give out documentation while it was still in this incomplete state. So if your work ends up supporting Mass Storage and such stuff, it will be much farther than Be's implementation ever was. I'm sure looking forward to it! :-}

Best regards,
-Stephan

Re: Today is May 28^_^

Hi Stephan,

I find the USB Mass Storage drivers code in src/add-ons/kernel/busses/usb. It is very useful. Thanks , Stephan.

Re: Today is May 28^_^

Hi JiSheng,

I'm pleased to read from you here, good move :) Did you try to set SATA in ATA compatible mode in the BIOS ? It could enable you to boot Haiku and BeOS. Last time I tried to switch, Windows couldn't cope with it, but Linux did.
If you need some kind of skeletons for bus managers and busses, the Haiku USB stack is a good example of what is possible (C or C++), as pointed by Stephan. Sadly, we don't have yet a USB Mass storage driver working on Haiku.
You could read the header "headers/os/drivers/bus/SCSI.h", there is an introduction at the top of it. Keep in mind the SCSI subsystem can be adjusted to conform your needs.

I'm subscribed to your blog, so keep posting :)

Bye,
Jérôme