0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

FreeBSDのmipsまわり

Last updated at Posted at 2018-10-19

これは12-CURRENT時代の主にSOC関係の話です。mipsはもちろんディスクトップもありましたが、ほとんど手に入らないと思います。その点SOCベースのものは比較的簡単に入手できます。mipsサポートはTier 3でリリースは作らないけどビルドはできる状態になっています。自分はビルドはZRouterで行っています。メモリ16MのFlash4Mが最低ラインです。mipsは未だにgcc 4.2を使い続けています。

Atheros(Qualcomm)

AR7/9やQCA955Xのサポートコードがある。唯一BIG EndianなSOC。FDT/INTRNG非対応なコードになっている。コンフィグレーションはhintsベース。大きく分けると100のEtherswitchが入ったチップと入ってないチップがあります。両方共Etherインターフェースは二つあります。データーシートはコンフィデンシャルだが漏れているものが入手可能。

mips/atheros/ar531xに古いAR2/5系のサポートコードがある。NetBSDのコードなどをベースに私が作りました。なぜこれを作ったかというと、このころのSOCにはEthernet Switchが入っていなくて外付けでいろいろなチップが使われていて、それを試したかったからです。このチップは二世代あり、最初のチップはFlashがCFIでEtherインターフェースが2つあり、後の世代はFlashがSPIでEtherが1つになりました。こちらはNON-FDTだがINTRNGは対応してあります。

Mediatek

Ralink時代のRT3050やMediatekになってからのMT7620などのコードがある。rayさんがやっていたmips/rt3050を実装し直した。FTD/INTRNG対応済み。データーシートはネットで入手可能。MediatekはSOCの種類も少なくアーキテクチャもシンプルで、私の一押し。

Broadcom

mipsサポートの初期のコードを再実装している。BroadcomはMIPS SOCを止めてしまったので、ターゲットは結構限られるし、後期のSOCは日本ではほとんど目にしない。FDT対応はしていないがbhndというドライバーを使ってコンフィグレーションをしている。このメーカーのSOCは2種類あり、sibaを使ったものとbcma(AMBA)を使ったもの。INTRNGは対応済み。データーシートはまったく入手できない。ブートローダーがCFEというBroadcomオリジナルになっている。こちらもrayさんがやっていた物を再実装している。実装が大きくなってしまっている上にチップがいろいろあり、かなり厳しい状態。(個人的にsibaなターゲットはFreeBSDをあきらめてBareMetalでmrubyを動くようにしました。)

チップ タイプ 備考
BCM4712 siba 11gの初期のWIFIチップ。Buffaloでいろいろつかわていた。メモリ16MのFlash 4Mのモデルがほとんど。Etherswitch無しの11gの最終のチップ。
BCM5350,2,4 siba 11gの後期のWIFIチップ。Buffaloでいろいろつかわていた。Etherswitchが内蔵されている。メモリ16MのFlash 4Mのモデルがほとんど。
BCM4718,BCM5356 bcma BCM/mips最後の頃のチップ。WIFIは11n。日本ではほとんど使われてない。
BCM33xx ? ケーブルモデム用のチップで、WIFI AP系のチップとは別のよう。日本にはほとんど入ってきてない。大変紛らわしいのはBMIPS3300というアーキテクチャがあること。BCM3380,3383,3384,3390まであったようです。BCM3380は珍しいデュアルコア。BCM66XXの亜流のようです。
BCM66xx ? DSL用のチップでBCM33xxとCPUは同じなのではないかと思われる。6338,6348,6358,6362,6368があったよう。
BCM7405 ? セットトップボックス用のソリューションの模様。

BCM_MIPS.png

以前はAdmtek(Infineonに買収)やIDTなどのポートもあったのですが、ターゲットがあまりなくメモリーなどのリソースも小さかったので消されてしまいました。

ターゲット

これらのチップは市販の無線ルーターに入っています。自分はハードオフで入手しています。ハードオフのジャンクは保障が無いのであまりお勧めはできません。ただ私の肌感では5%くらいの確率で壊れているものもあるていどで、ほとんど正常に使えます。Atheros/Mediatekはu-bootを使ってますが、NecのAtherosは独自bootなのでいじるのは難しいです。Broadcomは11gの頃の無線ルーターでは使われていましたが、11n以降では国内ではあまり使われなくなっています。

登場人物

Adrian Chadd

元AtherosでAtherosとWiFiの人。mips系コミッターのメンター。オーストラリア出身でアメリカ在住。

Oleksandr Rybalko(ray)

ZRouter.orgを始めた人。最近はあまりFreeBSDはアクティブではないけど、ZRouterは続けてます。Rayが書いたコードはいくつか書き直されてますが、いろいろ功績があります。ウクライナの人

Oleksandr Tymoshenko(gonzo)

AtherosやAdamtekなどのドライバーを書いていました。armやdevの下にもいろいろコードがあります。gonzoさんのコードは非常に分かりやすく、私が書いてるドライバーの下敷きになっています。ウクライナ出身で今はアメリカにいるようです。

Stefan Bethke

etherswitchを作った人。rayと最初は一緒にやってたみたいなんですが、途中から別々な開発になり、etherswitchがHEADに入りました。ドイツの人。

Stanislav Galabov

Mediatek(Ralink)対応をFDTで書き直した人。mips/mediatekの実装はちょっと風変わりで面白いです。Mediatekのサポートはかなり広くどうやって作ったのか聞いてたかったりします。ブルガリアの人

Landon Fuller

Broadcom周りの人。bhndやてます。bhndは作り込みが大きくなっていて、個人的にはあまり好きではありません。元Appleでアメリカの人

Michael Zhilin

Landonと一緒にBroadcom周り。AsiaBSDCon2018に参加してました。私のレビューをいろいろ見てもらってます。仕事で日本来ることが何度かあり、会っていました。ロシアの人

Hiroki Mori

自分はコミッターじゃないですけどいろいろいじってレビュー出してます。Atherosの古いSOCのサポートやRalinkの最初のSOCのRT2880のサポートやMediatek GPIOのGPSサポートなどなど。日本の人

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?