Monday, January 5, 2009

Creating a driver for JSynthLib and the Roland SPD-11

Back in 1998, I bought my first 600 neuro computer to get started with the official Cubase Vst 3.5, priced that day at 'only' 400 neuros. All my saved money was gone, I didn't have a decent job, but my future regarding recording music seemed secured, with an official dongle. it also didn't take long to get the blues 'cause my computer wasn't fast enough to run Vst plugins and the manual said I would also need a professional sound card.

It took until January 2004 before I first got a web connection and learned that Cubase Vst 3.5 wasn't supported anymore. The drivers I had been working on with dmaker were only useful for unsupported and expensive but 'old' software.

Now with Linux running, I use JSynthLib to edit and save the programs and banks on my Korg X3 synth, and I would like to do the same with my Roland SPD-11 but there's no driver been written yet.

I've read a book about Java and done most of the exercises but I'm still pretty new to programming, so it's a new challenge :-)
To make things a bit easier for myself and possibly others who may want to contribute/learn,
I quickly set up this wiki at spd-11.wikispaces.com.

And for now, I'll STFU and get on with my "unemployed status" job of writing the damn driver.
Cheers ;-)

fxload doesn't load the midisport 2x2 usb at boot

Since I installed the Ubuntu 8.10 generic kernel, (to get rid of a current multicore cpu bug in the -rt kernel version), the midisport 2x2 in my setup isn't loaded at boot anymore.

A quick way to fix it are these three commands:

Do this to remember the x and y values

:~$ lsusb | grep Midi
Bus 00x Device 00y: ID 0763:1001 Midiman MidiSport 2x2


Let the usb filesystems come to the kernel
:~$ sudo mount -t usbfs usbfs /proc/bus/usb/


Load the fish into the usb filesystem with the x and y values you just noted on your hand.
:~$ fxload -I /etc/firmware/ezusbmidi2x2.ihx -D /proc/bus/usb/00x/00y

If you see the little one come to life with a flashing led,
all is well and you can say 'it's OK'.
Man, I feel like I'm helping to write a new Bible, lol.

Sunday, January 4, 2009

dmidecode on a Medion PC

dmidecode, a DMI decoder, can read information described in the BIOS about some hardware like the motherboard and processor.

It appears like Medion also is a motherboard manufacturer, I didn't know that.
The output of dmidecode -q on a Medion Akoya E5310D isn't quiet at all, so I used the option -s with some strings:

peter@ubustu:~$ sudo dmidecode -s baseboard-product-name
MS-7501
peter@ubustu:~$ sudo dmidecode -s chassis-manufacturer
MEDIONPC
peter@ubustu:~$ sudo dmidecode -s system-manufacturer
MEDIONPC
peter@ubustu:~$ sudo dmidecode -s bios-vendor
American Megatrends Inc.
peter@ubustu:~$ sudo dmidecode -s bios-version
A7501MLN.10I
peter@ubustu:~$ sudo dmidecode -s bios-release-date
06/12/2008
peter@ubustu:~$ sudo dmidecode -s system-product-name
MS-7501
peter@ubustu:~$ sudo dmidecode -s system-version
2.1
peter@ubustu:~$ sudo dmidecode -s baseboard-version
2.1
peter@ubustu:~$ sudo dmidecode -s chassis-version
0.A
peter@ubustu:~$ sudo dmidecode -s processor-family

peter@ubustu:~$ sudo dmidecode -s processor-manufacturer
AMD
peter@ubustu:~$ sudo dmidecode -s processor-version
AMD Phenom(tm) 8450 Triple-Core Processor
peter@ubustu:~$ sudo dmidecode -s processor-frequency
2100 MHz


In case anyone needs more info, I'll paste the "quiet" output below .
peter@ubustu:~$ sudo dmidecode -q
BIOS Information
Vendor: American Megatrends Inc.
Version: A7501MLN.10I
Release Date: 06/12/2008
Address: 0xF0000
Runtime Size: 64 kB
ROM Size: 1024 kB
Characteristics:
ISA is supported
PCI is supported
PNP is supported
APM is supported
BIOS is upgradeable
BIOS shadowing is allowed
ESCD support is available
Boot from CD is supported
Selectable boot is supported
BIOS ROM is socketed
EDD is supported
5.25"/1.2 MB floppy services are supported (int 13h)
3.5"/720 KB floppy services are supported (int 13h)
3.5"/2.88 MB floppy services are supported (int 13h)
Print screen service is supported (int 5h)
8042 keyboard services are supported (int 9h)
Serial services are supported (int 14h)
Printer services are supported (int 17h)
CGA/mono video services are supported (int 10h)
ACPI is supported
USB legacy is supported
LS-120 boot is supported
ATAPI Zip drive boot is supported
BIOS boot specification is supported
Targeted content distribution is supported
BIOS Revision: 8.14

System Information
Manufacturer: MEDIONPC
Product Name: MS-7501
Version: 2.1
Serial Number: To Be Filled By O.E.M.
UUID: 388F5C1E-EE6D-DD11-8863-B5742568EBCD
Wake-up Type: Power Switch
SKU Number: To Be Filled By O.E.M.
Family: To Be Filled By O.E.M.

Base Board Information
Manufacturer: MEDIONPC
Product Name: MS-7501
Version: 2.1
Serial Number: To be filled by O.E.M.
Asset Tag: To Be Filled By O.E.M.
Features:
Board is a hosting board
Board is replaceable
Location In Chassis: To Be Filled By O.E.M.
Type: Motherboard

Chassis Information
Manufacturer: MEDIONPC
Type: Desktop
Lock: Not Present
Version: 0.A
Serial Number: To Be Filled By O.E.M.
Asset Tag: To Be Filled By O.E.M.
Boot-up State: Safe
Power Supply State: Safe
Thermal State: Safe
Security Status: None
OEM Information: 0x00000000
Height: Unspecified
Number Of Power Cords: 1
Contained Elements: 0

Processor Information
Socket Designation: CPU 1
Type: Central Processor
Family:
Manufacturer: AMD
ID: 23 0F 10 00 FF FB 8B 17
Version: AMD Phenom(tm) 8450 Triple-Core Processor
Voltage: 1.5 V
External Clock: 200 MHz
Max Speed: 2100 MHz
Current Speed: 2100 MHz
Status: Populated, Enabled
Upgrade: Other
Serial Number: To Be Filled By O.E.M.
Asset Tag: To Be Filled By O.E.M.
Part Number: To Be Filled By O.E.M.
Core Count: 3
Core Enabled: 3
Characteristics:
64-bit capable

Cache Information
Socket Designation: L1-Cache
Configuration: Enabled, Not Socketed, Level 1
Operational Mode: Varies With Memory Address
Location: Internal
Installed Size: 384 KB
Maximum Size: 384 KB
Supported SRAM Types:
Pipeline Burst
Installed SRAM Type: Pipeline Burst
Speed: Unknown
Error Correction Type: Single-bit ECC
System Type: Data
Associativity: 4-way Set-associative

Cache Information
Socket Designation: L2-Cache
Configuration: Enabled, Not Socketed, Level 2
Operational Mode: Varies With Memory Address
Location: Internal
Installed Size: 1536 KB
Maximum Size: 1536 KB
Supported SRAM Types:
Pipeline Burst
Installed SRAM Type: Pipeline Burst
Speed: Unknown
Error Correction Type: Single-bit ECC
System Type: Unified
Associativity: 4-way Set-associative

Cache Information
Socket Designation: L3-Cache
Configuration: Enabled, Not Socketed, Level 3
Operational Mode: Varies With Memory Address
Location: Internal
Installed Size: 2048 KB
Maximum Size: 2048 KB
Supported SRAM Types:
Pipeline Burst
Installed SRAM Type: Pipeline Burst
Speed: Unknown
Error Correction Type: Single-bit ECC
System Type: Unified
Associativity: 4-way Set-associative

Memory Controller Information
Error Detecting Method: 64-bit ECC
Error Correcting Capabilities:
None
Supported Interleave: One-way Interleave
Current Interleave: One-way Interleave
Maximum Memory Module Size: 512 MB
Maximum Total Memory Size: 2048 MB
Supported Speeds:
70 ns
60 ns
Supported Memory Types:
SIMM
DIMM
SDRAM
Memory Module Voltage: 3.3 V
Associated Memory Slots: 4
0x0009
0x000A
0x000B
0x000C
Enabled Error Correcting Capabilities:
None

Memory Module Information
Socket Designation: DIMM0
Bank Connections: 0 5
Current Speed: 161 ns
Type: ECC DIMM
Installed Size: 512 MB (Single-bank Connection)
Enabled Size: 512 MB (Single-bank Connection)
Error Status: OK

Memory Module Information
Socket Designation: DIMM1
Bank Connections: 0 5
Current Speed: 163 ns
Type: ECC DIMM
Installed Size: 512 MB (Single-bank Connection)
Enabled Size: 512 MB (Single-bank Connection)
Error Status: OK

Memory Module Information
Socket Designation: DIMM2
Bank Connections: 0 5
Current Speed: 165 ns
Type: ECC DIMM
Installed Size: 1024 MB (Single-bank Connection)
Enabled Size: 1024 MB (Single-bank Connection)
Error Status: OK

Memory Module Information
Socket Designation: DIMM3
Bank Connections: 0 5
Current Speed: 167 ns
Type: ECC DIMM
Installed Size: 1024 MB (Single-bank Connection)
Enabled Size: 1024 MB (Single-bank Connection)
Error Status: OK

Port Connector Information
Internal Reference Designator: J1A1
Internal Connector Type: None
External Reference Designator: PS2Mouse
External Connector Type: PS/2
Port Type: Mouse Port

Port Connector Information
Internal Reference Designator: J1A1
Internal Connector Type: None
External Reference Designator: Keyboard
External Connector Type: PS/2
Port Type: Keyboard Port

Port Connector Information
Internal Reference Designator: J2A2
Internal Connector Type: None
External Reference Designator: USB1
External Connector Type: Access Bus (USB)
Port Type: USB

Port Connector Information
Internal Reference Designator: J2A2
Internal Connector Type: None
External Reference Designator: USB2
External Connector Type: Access Bus (USB)
Port Type: USB

Port Connector Information
Internal Reference Designator: J4A1
Internal Connector Type: None
External Reference Designator: LPT 1
External Connector Type: DB-25 male
Port Type: Parallel Port ECP/EPP

Port Connector Information
Internal Reference Designator: J2A1
Internal Connector Type: None
External Reference Designator: COM A
External Connector Type: DB-9 male
Port Type: Serial Port 16550A Compatible

Port Connector Information
Internal Reference Designator: J6A1
Internal Connector Type: None
External Reference Designator: Audio Mic In
External Connector Type: Mini Jack (headphones)
Port Type: Audio Port

Port Connector Information
Internal Reference Designator: J6A1
Internal Connector Type: None
External Reference Designator: Audio Line In
External Connector Type: Mini Jack (headphones)
Port Type: Audio Port

Port Connector Information
Internal Reference Designator: J6B1 - AUX IN
Internal Connector Type: On Board Sound Input From CD-ROM
External Reference Designator: Not Specified
External Connector Type: None
Port Type: Audio Port

Port Connector Information
Internal Reference Designator: J6B2 - CDIN
Internal Connector Type: On Board Sound Input From CD-ROM
External Reference Designator: Not Specified
External Connector Type: None
Port Type: Audio Port

Port Connector Information
Internal Reference Designator: J6J2 - PRI IDE
Internal Connector Type: On Board IDE
External Reference Designator: Not Specified
External Connector Type: None
Port Type: Other

Port Connector Information
Internal Reference Designator: J6J1 - SEC IDE
Internal Connector Type: On Board IDE
External Reference Designator: Not Specified
External Connector Type: None
Port Type: Other

Port Connector Information
Internal Reference Designator: J4J1 - FLOPPY
Internal Connector Type: On Board Floppy
External Reference Designator: Not Specified
External Connector Type: None
Port Type: Other

Port Connector Information
Internal Reference Designator: J9H1 - FRONT PNL
Internal Connector Type: 9 Pin Dual Inline (pin 10 cut)
External Reference Designator: Not Specified
External Connector Type: None
Port Type: Other

Port Connector Information
Internal Reference Designator: J1B1 - CHASSIS REAR FAN
Internal Connector Type: Other
External Reference Designator: Not Specified
External Connector Type: None
Port Type: Other

Port Connector Information
Internal Reference Designator: J2F1 - CPU FAN
Internal Connector Type: Other
External Reference Designator: Not Specified
External Connector Type: None
Port Type: Other

Port Connector Information
Internal Reference Designator: J8B4 - FRONT FAN
Internal Connector Type: Other
External Reference Designator: Not Specified
External Connector Type: None
Port Type: Other

Port Connector Information
Internal Reference Designator: J9G2 - FNT USB
Internal Connector Type: Other
External Reference Designator: Not Specified
External Connector Type: None
Port Type: Other

Port Connector Information
Internal Reference Designator: J6C3 - FP AUD
Internal Connector Type: Other
External Reference Designator: Not Specified
External Connector Type: None
Port Type: Other

Port Connector Information
Internal Reference Designator: J9G1 - CONFIG
Internal Connector Type: Other
External Reference Designator: Not Specified
External Connector Type: None
Port Type: Other

Port Connector Information
Internal Reference Designator: J8C1 - SCSI LED
Internal Connector Type: Other
External Reference Designator: Not Specified
External Connector Type: None
Port Type: Other

Port Connector Information
Internal Reference Designator: J9J2 - INTRUDER
Internal Connector Type: Other
External Reference Designator: Not Specified
External Connector Type: None
Port Type: Other

Port Connector Information
Internal Reference Designator: J9G4 - ITP
Internal Connector Type: Other
External Reference Designator: Not Specified
External Connector Type: None
Port Type: Other

Port Connector Information
Internal Reference Designator: J2H1 - MAIN POWER
Internal Connector Type: Other
External Reference Designator: Not Specified
External Connector Type: None
Port Type: Other

System Slot Information
Designation: AGP
Type: 32-bit AGP 4x
Current Usage: Available
Length: Short
ID: 0
Characteristics:
3.3 V is provided
Opening is shared
PME signal is supported

System Slot Information
Designation: PCI1
Type: 32-bit PCI
Current Usage: Available
Length: Short
ID: 1
Characteristics:
3.3 V is provided
Opening is shared
PME signal is supported

On Board Device Information
Type: Video
Status: Enabled
Description: To Be Filled By O.E.M.

OEM Strings
String 1: To Be Filled By O.E.M.

System Configuration Options
Option 1: To Be Filled By O.E.M.

BIOS Language Information
Installable Languages: 1
en|US|iso8859-1
Currently Installed Language: en|US|iso8859-1

Physical Memory Array
Location: System Board Or Motherboard
Use: System Memory
Error Correction Type: None
Maximum Capacity: 8 GB
Number Of Devices: 4

Memory Array Mapped Address
Starting Address: 0x00000000000
Ending Address: 0x000BFFFFFFF
Range Size: 3 GB
Partition Width: 0

Memory Device
Total Width: 64 bits
Data Width: 72 bits
Size: 512 MB
Form Factor: DIMM
Set: None
Locator: DIMM0
Bank Locator: BANK0
Type: DDR2
Type Detail: Synchronous
Speed: 333 MHz (3.0 ns)
Manufacturer: Manufacturer0
Serial Number: SerNum0
Asset Tag: AssetTagNum0
Part Number: PartNum0

Memory Device Mapped Address
Starting Address: 0x00000000000
Ending Address: 0x0001FFFFFFF
Range Size: 512 MB
Partition Row Position: 1

Memory Device
Total Width: 64 bits
Data Width: 72 bits
Size: 512 MB
Form Factor: DIMM
Set: None
Locator: DIMM1
Bank Locator: BANK1
Type: DDR2
Type Detail: Synchronous
Speed: 333 MHz (3.0 ns)
Manufacturer: Manufacturer1
Serial Number: SerNum1
Asset Tag: AssetTagNum1
Part Number: PartNum1

Memory Device Mapped Address
Starting Address: 0x00020000000
Ending Address: 0x0003FFFFFFF
Range Size: 512 MB
Partition Row Position: 1

Memory Device
Total Width: 64 bits
Data Width: 72 bits
Size: 1024 MB
Form Factor: DIMM
Set: None
Locator: DIMM2
Bank Locator: BANK2
Type: DDR2
Type Detail: Synchronous
Speed: 333 MHz (3.0 ns)
Manufacturer: Manufacturer2
Serial Number: SerNum2
Asset Tag: AssetTagNum2
Part Number: PartNum2

Memory Device Mapped Address
Starting Address: 0x00040000000
Ending Address: 0x0007FFFFFFF
Range Size: 1 GB
Partition Row Position: 1

Memory Device
Total Width: 64 bits
Data Width: 72 bits
Size: 1024 MB
Form Factor: DIMM
Set: None
Locator: DIMM3
Bank Locator: BANK3
Type: DDR2
Type Detail: Synchronous
Speed: 333 MHz (3.0 ns)
Manufacturer: Manufacturer3
Serial Number: SerNum3
Asset Tag: AssetTagNum3
Part Number: PartNum3

Memory Device Mapped Address
Starting Address: 0x00080000000
Ending Address: 0x000BFFFFFFF
Range Size: 1 GB
Partition Row Position: 1


I had to use the -q option to make dmidecode show the manufacturer's name and the board's BIOS version.