Selam yoldaşlar, uzun zamandır forumu takip ediyorum, ilk mesajımı yazıyorum. Elimde eski bir Adaptec AHA-2940 Ultra SCSI kartı var ve bunu modern bir Arch Linux sisteminde (çekirdek 6.6.x) kullanmak istiyorum. Kartı PCI slotuna taktım, lspci'de görünüyor: `Adaptec AHA-2940U/UW / AHA-2930U` olarak. Ancak sistem açılışında `aic7xxx` modülü yüklenmiyor, dmesg'de 'aic7xxx: No controller found' gibi bir şey görmüyorum, sadece modül hiç yüklenmiyor. modprobe aic7xxx dediğimde 'Module aic7xxx not found' hatası alıyorum. Sanırım yeni çekirdeklerde bu modül kaldırılmış. Eski bir çekirdek derlemek istemiyorum, ama bu kartı kullanmam lazım (eski bir HP ScanJet 4c tarayıcıyı bağlamak için). Araştırdım, `aic7xxx` yerine `aic79xx` mi kullanılıyor? Ama o da SAS/SATA kontrolcüleri için galiba. Ayrıca `spi` ve `scsi` modüllerini yüklemeyi denedim, olmadı. Kernel parametresi olarak `aic7xxx=...` vermeyi denedim, o da işe yaramadı. Yardımcı olabilecek var mı? Sistemim: Arch Linux, kernel linux-6.6.3-arch1-1, anakart MSI B450 Tomahawk (PCI slotu var, PCIe değil, eski PCI). BIOS'ta PCI slotu aktif, IRQ çakışması yok gibi. Ayrıca `mkinitcpio` konfigürasyonuma `aic7xxx` eklemeyi denedim ama modül bulunamadığı için initramfs oluşturulamıyor. Ne yapmalıyım?
Arch Linux'ta eski bir SCSI kartını (Adaptec AHA-2940) tanıtmak – Kernel modülü derleme sorunu
Cevaplar (2)
01.08.2026 13:56
Kanka, selam! Aynı sorunu ben de yaşadım, o yüzden biliyorum. `aic7xxx` modülü gerçekten de Linux çekirdeği 5.4'ten itibaren kaldırıldı, yerine `aic79xx` falan gelmedi. AHA-2940 için hala destek var ama bu destek `aic7xxx` yerine `aic7xxx_old` olarak mı ne? Hayır, yanlış hatırlıyorum. Aslında doğrusu şu: Adaptec'in eski SCSI kartları için `aic7xxx` modülü hala çekirdekte mevcut, ama sadece `CONFIG_SCSI_AIC7XXX` seçeneğiyle derlenirse. Arch'in varsayılan çekirdeğinde bu seçenek devre dışı bırakılmış. Bu yüzden modül yok. Çözüm olarak iki seçenek var: ya kendi çekirdeğini derleyip bu seçeneği aktif edeceksin (ki istemiyorum demişsin), ya da `linux-lts` çekirdeğine geçeceksin. LTS çekirdeğinde (6.1.x) bu modül hala var mı diye kontrol ettim, evet, `linux-lts` paketinde `aic7xxx` modülü mevcut. Ben de aynı kartı kullanıyorum, LTS çekirdeğine geçtim, sorun çözüldü. Ayrıca `mkinitcpio`'ya modülü eklemene gerek yok, çünkü modül otomatik yükleniyor. Ama yine de initramfs'te olmasını istersen, `/etc/mkinitcpio.conf` dosyasındaki MODULES satırına `aic7xxx` ekleyip `mkinitcpio -P` çalıştırabilirsin. Ama önce `linux-lts` kurman lazım. Hatta `pacman -S linux-lts` de, sonra `/boot/loader/entries/arch.conf` dosyasında veya GRUB'da varsayılan çekirdeği değiştir. Sonra yeniden başlat, `lsmod | grep aic7xxx` ile kontrol et, kartı göreceksin. Eğer hala sorun varsa, `dmesg | grep -i scsi` çıktısını paylaş, bakarız.
01.08.2026 14:19
gamerdigger28 yazdı:
Kanka, selam! Aynı sorunu ben de yaşadım, o yüzden biliyorum. `aic7xxx` modülü gerçekten de Linux çekirdeği 5.4'ten itibaren kaldırıldı, yerine `aic79xx` falan gelmedi. AHA-2940 için hala destek var ama bu destek `aic7xxx` yerine `aic7xxx_old` olarak mı ne? Hayır, yanlış hatırlıyorum. Aslında doğrusu şu: Adaptec'in eski SCSI kartları için `aic7xxx` modülü hala çekirdekte mevcut, ama sadece `CONFIG_SCSI_AIC7XXX` seçeneğiyle derlenirse. Arch'in varsayılan çekirdeğinde bu seçenek devre dışı bırakılmış. Bu yüzden modül yok. Çözüm olarak iki seçenek var: ya kendi çekirdeğini derleyip bu seçeneği aktif edeceksin (ki istemiyorum demişsin), ya da `linux-lts` çekirdeğine geçeceksin. LTS çekirdeğinde (6.1.x) bu modül hala var mı diye kontrol ettim, evet, `linux-lts` paketinde `aic7xxx` modülü mevcut. Ben de aynı kartı kullanıyorum, LTS çekirdeğine geçtim, sorun çözüldü. Ayrıca `mkinitcpio`'ya modülü eklemene gerek yok, çünkü modül otomatik yükleniyor. Ama yine de initramfs'te olmasını istersen, `/etc/mkinitcpio.conf` dosyasındaki MODULES satırına `aic7xxx` ekleyip `mkinitcpio -P` çalıştırabilirsin. Ama önce `linux-lts` kurman lazım. Hatta `pacman -S linux-lts` de, sonra `/boot/loader/entries/arch.conf` dosyasında veya GRUB'da varsayılan çekirdeği değiştir. Sonra yeniden başlat, `lsmod | grep aic7xxx` ile kontrol et, kartı göreceksin. Eğer hala sorun varsa, `dmesg | grep -i scsi` çıktısını paylaş, bakarız.
Dostum, çok teşekkürler! Aynen dediğin gibi, `linux-lts` çekirdeğine geçtim. Önce `pacman -S linux-lts` kurdum, sonra GRUB'da varsayılan çekirdeği değiştirdim (ben GRUB kullanıyorum, `/etc/default/grub`'da `GRUB_DEFAULT=saved` yapıp `grub-set-default` ile LTS'yi seçtim, sonra `grub-mkconfig -o /boot/grub/grub.cfg` çalıştırdım). Yeniden başlattım, `lsmod | grep aic7xxx` dedim ve modül yüklü görünüyor. `dmesg | grep -i scsi` çıktısında da `aic7xxx: Adaptec AHA-2940 Ultra SCSI controller` satırını gördüm. Tarayıcıyı bağladım, `scanimage -L` ile tarayıcıyı tanıdı, `sane` ile tarama yapabildim. Yani sorun çözüldü. Ayrıca `mkinitcpio`'ya modülü eklememe gerek kalmadı, çünkü modül zaten yüklü. Bu arada, LTS çekirdeği ile ilgili bir sorun yaşamadım, her şey stabil. Tekrar teşekkürler, iyi forumlar!
Bu konuya cevap yazabilmek için retro topluluğumuza üye olmalı veya giriş yapmalısınız.